wieder einmal die gute alte CComboBoxEx (diesmal: die Farbe(n) ändern)
-
hallo zusammen!
auch wenn ich gefahr laufe, euch mit meiner CComboBoxEx zu nerven...
Hat jemand auch nur den blassesten Schimmer wie man bei den Dinger die Text-
und Hintergrundfarbe ändern kann?Ich wäre Euch für nen kleinen Tipp x-trem dankbar
!
vg, marco!
-
Fange die WM_CTLCOLOR (OnCtlColor) in deinem Parent ab und gib dort den gewünschten brush zurück sobald deine ComboBox dran ist.
-
Hallo CMatt!
Danke für deine Antwort.
ich hatte es schon zuvor mal mit dem OnCtlColor versucht und nun zum Test nochmal.
aber irgendwas mach ich da falsch....
ich hab das hier schonmal da drin versucht:if(pWnd->GetDlgCtrlID()==IDC_EVENTCOMBO) { //pDC->SetBkMode(TRANSPARENT); //pDC->SetTextColor(RGB(255,255,255)); HBRUSH brush = CreateSolidBrush(RGB(180,170,255)); return (HBRUSH) brush; }
IDC_EVENTCOMBO ist die ID meiner CComboBoxEx (Membervariable m_combobox).
Weisst du vielleicht was ich da falsch mache?
-
1. schon mal darüber nachgedacht wer dafür sorgt das der brush den du da erzeugst weider gelöscht wird wenn er nicht merh benötigt wird? Richtig! keiner!
2. Warum dasso nicht funzt:
CComboBoxEx != CComboBox
Eine CComboBoxEx stellt im gengensatz zu einer CComboBox 2 eigenständige controls dar, eine Edit Box und einer List Box (GetComboBoxCtrl, GetEditCtrl). Dämmerts?
-
Langsam dämmerts schon, aber ich brauch noch ein kleines bissl.
bin gerade am nachforschen.
Ist halt ein wenig neu für mich *umverständnisbettel* :p :p
-
meinst du das so?
if(pWnd->GetDlgItem(IDC_EVENTCOMBO) == m_combobox.GetEditCtrl())
ich hab so gut wie nix dazu gefunden - SRY