ComboBoxEx - Items haben weißen Hintergrund
-
Hi, ich habe eine ComboBoxEx, die gesubclassed ist, um WM_CTLCOLORLISTBOX zu behandeln.
return GetSysColorBrush(0) klappt wunderbar; SetTextColor(wParam, RGB(255, 0, 0)), SetBkMode oder SetBkColor eher weniger... Text der Items in der aufgeklappten ComboBoxEx bleibt schwarz mit weißem Hintergrund, SetBkMode mit TRANSPARENT tut es irgendwie auch nicht...
Danke.
-
Da hilft nur ownerdrawn

-
Wieso Subclassen?
Das Parent bekommt doch WM_CTLCOLORLISTBOX... Bist Du sicher, dass hier nicht aufdie Textfarbe reagiert wird?
-
Ich habe es gesubclassed und gebe bei der Nachricht WM_CTLCOLOREDIT und WM_CTLCOLORLISTBOX GetSysColorBrush(x) zurück.
Das funktioniert bei beidem wunderbar. SetTextColor funktioniert irgendwie nur bei dem Edit-Part der ComboBox... ebenso SetBkModeDWORD CustProc(DWORD hwnd, DWORD msg, DWORD wparam, DWORD lparam) { DWORD ret = CallWindowProc(PrevProc, hwnd, msg, wparam, lparam); if (msg == WM_CTLCOLOREDIT || msg == WM_CTLCOLORLISTBOX) { SetTextColor(wparam, RGB(255, 0, 0)); SetBkMode(wparam, TRANSPARENT); return GetSysColorBrush(0); } return ret; }