Farbe auf Dialog ändern
-
Hi!
Ich hab ne ganz simple Frage, bekomms trotzdem nicht hin: Und zwar möchte ich nur den Hintergrund von einem Dialog ändern, z.B. weiß, ... .
Wer kann mir da helfen?Danke TotalEasy
-
In die InitInstance die Funktion SetDialogBkColor(); aufrufen, zB. so:
SetDialogBkColor(RGB(0, 0, 0), RGB(255, 255, 255));
Der erste Parameter ist für die Hintergrundfarbe, der zweite für die Schriftfarbe.
-
Komisch,
die Fkt. habsch gefunden in der Header, aber ich kann sie nicht ansprechen.Und wie soll das fkt.?
Mfg TotalEasy
-
hmmm, ich bekomme es grade auch nicht hin, werde später nochmal gucken.
Ansonsten kannst du das hier ausprobieren: http://www.mindcracker.com/mindcracker/c_cafe/controls/color2.asp
-
WM_CTLCOLOR Nachricht mit Klassenassistenten auswählen
HBRUSH CDeinDialolg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Attribute des Gerätekontexts hier ändern switch(nCtlColor) { case CTLCOLOR_BTN: case CTLCOLOR_STATIC: pDC->SetBkMode(TRANSPARENT); case CTLCOLOR_DLG: return(HBRUSH) m_brBack.GetSafeHandle(); } // TODO: Anderen Pinsel zurückgeben, falls Standard nicht verwendet werden soll return CDialog::OnCtlColor(pDC,pWnd,nCtlColor); //return hbr; }
Membervariable protected oder private:
hier: CBrush m_brBack;Und das noch in den Konstruktor, um die Farben einzustellen
m_brBack.CreateSolidBrush(RGB(226,254,226));
Fertig