Edit control Farbe aendern im Dialog

18/01/2008 - 01:23 von Thomas Thiele | Report spam
Hallo,

noch eine letzte GUI Frage:

Wie kann ich die Hintergrundfarbe eines Edit-Controls àndern?

Das:

case WM_CTLCOLOREDIT:
SetTextColor((HDC)wParam, RGB(251, 66, 32)); // a kind of red
SetBkMode((HDC)wParam, TRANSPARENT);
SetBkColor((HDC)wParam, (LONG)GetSysColorBrush(BLACK_BRUSH));
return (LRESULT)GetSysColorBrush(BLACK_BRUSH); // black background

Funktioniert im Dialog nicht. Egal ob ich LRESULT (wie gezeigt) oder
BOOL als returnwert der Dialog-Nachrichtenbearbeit-Funktion habe.

Der Text erscheint rot auf dunkelgrau nicht auf schwarz.
Wobei dunkelgrau meine System-3D-Farbe ist.


Gruß Thomas
 

Lesen sie die antworten

#1 Jörg Hauschild
20/01/2008 - 19:48 | Warnen spam
Thomas Thiele schrieb:
Hallo,

noch eine letzte GUI Frage:

Wie kann ich die Hintergrundfarbe eines Edit-Controls àndern?

Das:

case WM_CTLCOLOREDIT:
SetTextColor((HDC)wParam, RGB(251, 66, 32)); // a kind of red
SetBkMode((HDC)wParam, TRANSPARENT);
SetBkColor((HDC)wParam, (LONG)GetSysColorBrush(BLACK_BRUSH));
return (LRESULT)GetSysColorBrush(BLACK_BRUSH); // black background

Funktioniert im Dialog nicht. Egal ob ich LRESULT (wie gezeigt) oder
BOOL als returnwert der Dialog-Nachrichtenbearbeit-Funktion habe.

Der Text erscheint rot auf dunkelgrau nicht auf schwarz.
Wobei dunkelgrau meine System-3D-Farbe ist.


Gruß Thomas



In Dialogen muß man für den Rückgabewert

SetWindowLong(hwnd,DWL_MSGRESULT,(long)hBrush);

benutzen.

Gruß Jörg

Ähnliche fragen