Hintergrundfarbe hinter dem Text
-
Hi @all,
ich habe die Hintergrundfarbe meines Programms geändert.
Dafür nutze ich ne Membervariable m_Brush die in OnInitDialog gesetzt wird.
m_Brush.CreateSolidBrush(0x00D8E9EC);
Die Farbe wird in der WM_CTRCOLOR Funktion zurückgegeben.HBRUSH CHauptDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); pDC->SetBkMode(TRANSPARENT); return m_Brush; }Das färbt auch den ganzen Hintergrund. Jedoch
1. Nicht den Hintergrund der Button
2. Nich die MessageBoxWeiß einer, wie ich das bewerkstelligen kann?
-
Für Buttons:
Eine Klasse von CButton ableiten und WM_PAINT überschreiben,
bzw. die WM_ERASEBKGROUND des Buttons.Sollte gehen, kann allerdings die Vermutung nicht bestätigen da nicht z.H
Bei MessageBoxes weis ich es nicht.
Evt. solltest du eine eigene Box erstellen und diese mit DoModal benutzen.
-
Ähh,
ich glaube WM_ERASEBKGROUND is nur bei Views.
Aber es sollte eine OnCtlColor im CButton-Objekt geben,
die überschreibar ist...vielleicht......

-
Aloha,
für Farben oder Bilder im Hintergrund bei Buttons nimm die fertigen Klassen von codeguru.com.
Du mußt das Rad nicht neu erfinden.
Bei den Messageboxen, ist die Variante von Beowulf absolut zu empfehlen. Mach Dir Deine eigenen.
Ansonsten tippe ich kann man den Hintergrund bei Messageboxen über die Systemfarben ändern. <-- reine VermutungGrüße
BOA
-
Erstmal danke für die Tip´s.
Werde mir meine MessageBox dann wohl selber schreiben.
JedochBOA schrieb:
Ansonsten tippe ich kann man den Hintergrund bei Messageboxen über die Systemfarben ändern. <-- reine Vermutung
Wie kann man den die Systemfarben ändern?
-
Aloha,
Ändern der Systemfarben
SetSysColors()Abfrage mit
GetSysColor()MSDN für die Parameter...

Grüße
BOA
-
Hab mir grade die Parameter für GetSysColor und SetSysColors angesehen.
Ändert man damit wirklich alle Einstellungen des Systems (natürlich immer nur auf den einzelnen Parameter bezogen)?
Wäre vieleicht etwas arrogant, das System des Users zu verstellen, nur weil ich ne andere Farbe für ne Messegebox möchte.
-
Aloha,
yup, alle schön in rosa für den User. Sieht gut aus.

Grüße
BOA