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.