Grundsatzfrage
-
Hallo zusammen,
seit etwa 10 Tagen befasse ich mich mit Dialogen der Mfc.
Klappt eigentlich ganz gut mit dem Nachrichtensystem.Grundsätlich:
Man schnappt sich sein Steuerelement, stattet es mit Variablen aus und reagiert auf Nachrichten.Jetzt habe ich aber folgendes Problem :
Ich habe ein Dialogfeld mit einem Butten drauf.
Wird der Button geklickt soll sich die Hintergrundfarbe auf schwarz ändern, beim nächsten Klick auf rot dann grün dann blau.Also bekommt mein Button eine WM_CLICKED.
Mein Dialogfeld bekommt eine WM_CTLCOLOR.Der Code:
HBRUSH hbrDlg; hbrDlg = CreateSolidBrush(RGB(0, 0, 0)); return hbrDlg;ändert die Hintergrundfarbe auf schwarz.
Wenn ich die konstanten Werte des RGM Makros durch Variablen ersetze und diese aus OnButton übergebe müsste das doch klappen.
Natürlich brauch ich auch noch ne Zählervariable.
Aber wie gestalte ich die Übergabe aus OnButton() an OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) richtig ?
Ich hab schon zig Ansätze ausprobiert mache aber anscheinend was grundsätzliches falsch !Danke schon mal für eure Hilfe
ShadowEater
-
Buttons verhalten sich nicht ganz so in Bezug auf WM_CTLCOLOR und schon gar nicht wenn ein Theme aktive ist (also wenn XP-Style aktiviert wurde).