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 👎


  • Mod

    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 SetBkMode

    DWORD 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;
    }
    

Anmelden zum Antworten