Dialoge: Hintergrundfarbe einstellen
-
Moin!
Weis einer von euch, wie ich die Hintergrund - und Buttonfarbe meiner Dialoge
ändern kann? Das helle grau gefällt mir nämlich nicht besonders
THX!

-
beim Dialog würde ich auf WM_ERASEBKGND reagieren und die Buttons müssen Ownerdraw sein, dann musst du alles selbst zeichnen.
-
Danke!
Kann ich das jetzt so programmieren?case WM_ERASEBKGND: hdc = BeginPaint (hDlg, &ps); SetBkColor ( hdc, RGB( 0, 0, 0) ); EndPaint (hDlg, &ps);
-
Habe den Code jetzt auf
case WM_ERASEBKGND: hdc = BeginPaint (hDlg, &ps); SetBkColor ( hdc, RGB( 0, 0, 0) ); EndPaint (hDlg, &ps); return (LRESULT)GetStockObject(BLACK_BRUSH);geändert - doch komischerweise wird jetzt gar kein Hintergrund mehr angezeigt - weder schwarz noch grau

THX
-
BeginPaint und EndPaint dürfen nur in WM_PAINT aufgerufen werden. Wenn eine WM_ERASEBKGND Nachricht geschickt wird, ist wParam ein Handle zum Device Context. Dann kannst du auch die ganzen GDI Funktionen wie FillRect verwenden.
zum Return-Wert:
An application should return nonzero if it erases the background; otherwise, it should return zero.
-
Wie benutze ich denn jetzt am besten SetBkColor mit wParam?
SetBkColor ( ???, RGB( 255, 255, 255) );
-
du brauchst die Funktion FillRect und nicht SetBkColor.
-
Vielen Dank! Jetzt klappt´s!
Guckt euch das geile Muster an...HDC hdc = (HDC) wParam; RECT rct; HBRUSH Brush; case WM_ERASEBKGND: Brush=CreateHatchBrush(HS_DIAGCROSS,RGB(0,170,170)); GetClientRect(hDlg,&rct); FillRect(hdc, &rct, Brush); return 1;Sieht nen bisschen so aus wie unsere Fliesen im Badezimmer

THX
-
Eine Frage hätte ich da aber noch (jaja ich nerve
)
Geht das ganze eigentlich auch mit der Dialog-Textfarbe und der Textfarbe von Gruppenfeldern?
-
Moin!
Weis einer von euch, wie ich die Hintergrund - und Buttonfarbe meiner Dialoge
ändern kann? Das helle grau gefällt mir nämlich nicht besondersJa, das geht mit WM_CTLCOLORDLG, WM_CTLCOLORBTN usw.