Hintergrundfarbe einstellen
-
Hi Leute,
wie kann man die Hintergrundfarbe einstellen??? Das mit der Listbox farbe hab ich ja dank hilfe hinbekommen.
MFG SPAXX
-
Hintergrundfarbe von was ????
-
von einer SDI Anwendung. Habe folgendes probiert.
void CKopierenView::OnDraw(CDC* pDC) { ....... CRect te; GetClientRect(te); te.NormalizeRect(); pDC->FillRect(te,CBrush::FromHandle((HBRUSH)GetStockObject(BLACK_BRUSH))); ..... }Das macht er auch, aber nur Schwarz oder Weiß bzw. Grau. Weil als letzter Parameter ein int wert erwartet wird kann nicht nicht mit RGB() arbeiten. Aber ich will als Farbe blau oder so.
-
Hallo,
also der zweite Parameter für FillRect ist doch ein CBrush-Zeiger, also erstellst du einfach ein CBrush-Objekt, rufst CreateSolidBrush für dieses Objekt auf (und dieser Methode kann man tatsächlich einen COLORREF-Wert, also das, was RGB zurückgibt, übergeben), und übergibst die Adresse des CBrush-Objekts, näheres (und auch das, was ich hier erklärt habe) --> MSDN
MfG
-
Gib mal im MSDN Index "background" ein, da findest Du was Du suchst.
-
moin, ich weiss zwar nicht obs in ner sdi-anwendung geht, aber in ner dialogbasierenden nehm ich immer:
es setzt hintergrundfarbe und schriftfarbe (2.wert) und kommt in ner Dialog-anwendung in die InitInstance() der app-klasseSetDialogBkColor(RGB(0,0,255), RGB(255,255,255));
mfg Emperor_L0ser
-
Is eigentlich gar nicht so kompliziert:
RECT rect; CBrush* DefaultBrush; CBrush BgrBrush(RGB(r,g,b)); //Erstellt eine Brush der entsprechenden Farbe GetClientRect(&rect); DefaultBrush = pDC->GetCurrentBrush(); //aktuelle Brush speichern pDC->SelectObject(BgrBrush); //BgrBrush auswählen //Malt den ganzen Zeichenbereich in der Farbe von BgrBrush an pDC->Rectangle(&rect);Sollte funktionieren.
Gru? Andreas1985