mehrere dialoge verschiedenfärbig darstellen
-
hi, ich habe eine anwendung ,die mit mehreren modalen und nicht modalen dialogen arbeitet.
es gibt sogenannte sicherheitsdialoge, welche ich gerne rot darstellen möchte,
sogenannte meldungsdialoge, die ich grün darstellen möchte.
allerdings habe ich noch keine möglichkeit gefunden, das zu bewekstelligen.
die nächste frage wäre, wie ich die buttons in diesen dialogen verschiedenfärbig darstellen kann.
danke für hinweise !
-
Moin,
also, den hintergrund kannst du per FillSolidRect() farbig darstellen.UpdateData(TRUE); CClientDC dc(this); dc.FillSolidRect(1, 1, 100, 100, RGB(255,255,255));
Der Code malt ein weißes Quadrat in die linke obere ecke mit den maßen (pixel) 100 * 100. Den Code solltest du am besten in die OnPaint-funktion einfügen, damit es immer wieder neu gezeichnet wird, sofern ein anderes Fenster darüberlag.
Für Farbige Buttons solltest du dich mal bei
[url] www.codeguru.com [/url]
oder
[url] www.codeproject.com [/url]
umsehen. codeproject schein zur zeit aber offline zu sein.
-
Für Dialoge SetDialogBkColor.
für Buttons WM_CTLCOLOR überschreiben.
-
moin, ich bins nochmal
soweit ich ihn verstanden hab, will er mehrere Dialoge unterschiedlich färben, sonst würde ich auch SetDialogColorBkColor nehmen, doch
MSDN
**Call this member function from within the InitInstance member function to set the default background and text color for dialog boxes and message boxes within your application.
**also: SetDlilogBkColor gilt für die gesamte Anwendung, wenn ich mich täusche sagt es mir bitte.
-
Update:
To set the background color of the dialog box, you must handle WM_CTLCOLORWie wunderschön in der MSDN steht, nur lesen sollte man sie !
-
schon wieder,
also in deinem ersten beitrag hast du nichts davon gesagt, das man zusätzlich zu SetDialogBkColor auch noch WM_CTLCOLOR überschreiben muss (im zusammmenhang mit der hintergrundfarbe) und in der MSDN steht unter dem eintrag SetDialogBkColor nichts zu WM_CTLCOLOR, irgendwie verwirrend das ganze.
-
In meiner MSDN steht das schon. Siehe: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_CWinApp.3a3a.SetDialogBkColor.asp
-
Ok. in meiner stehts nicht