CDialogBar Steuerelemente Farben ...



  • Wie ändere ich die Farben ( Hintergrund/Vordergrund ) in meiner
    Combobox in der CDialogBar, der Hintergrund ist vorab weiss.
    Die Farben der Steuerelemente eines modalen Dialog's, kann ich verändern,
    Soviel habe ich gelernt !
    ..OnCtlColor.. wir gar nicht aufgerufen. Die zugehörige CDialog-Klasse,
    wird gar nicht benötigt. Alles was ich von der Dialogvorlage brauche, sind
    die ID's der Steuerelemente. Nachrichten abfangen, und auf die Steuerelemente
    zugreifen tue ich von der CMainFrame-Klasse.



  • Leite doch deine eigene Klasse von deiner CComboBox an, und dann kannste alles nach Herzenslust machen.

    Gruß Matthias



  • Folgender Code:

    mainframe.h:
    CDialogBar dbr;
    CComboBox* cbb;

    mainframe.cpp:
    ..OnCreate ...
    dbr.Create(this, IDD_DIALOG1, CBRS_TOP, 0xE80A);
    cbb = (CComboBox*)dbr.GetDlgItem(IDC_COMBO1);
    CDC* dc = cbb.GetWindowDC();
    dc->SetBkColor(RGB(0, 0, 255)); // Geht nicht!
    dc->SetTextColor(RGB(255, 0 ,0));

    cbb.AddString("Stringle1);
    cbb.AddString("Stringle2);
    cbb.AddString("Stringle3);

    lauter schwarze Stringle's

    Wenn ich von der CComboBox ableite, habe ich auch nur die Funktionen
    von CWnd und CComboBox. Die müssten hier auch aufzurufen sein.


Anmelden zum Antworten