Veröffentlicht 30. Januar 200223 j Hali-Halo, Wisst Iht wie man die Hintergrundfarbe eines Dialogs ändern kann, ich bräucht eine weisse Hintergrundfarbe, will aber kein Bitmap verwenden. P.S: Hoob die MFC !!!
30. Januar 200223 j Wenn du mit VC arbeitest... Hast du es schonmal mit CDC::SetBkColor versucht ??? MSDN gibt weitere Tips zu SetBKColor bis denn
31. Januar 200223 j Also folgendermassen: Wenn du nur die Hintergrundfarbe ändern willst, ist das ganz einfach: VC++ erstellt dir lauter lustige Dateien, dein Dialog wird von irgendwoher aufgerufen, nämlich von der "haupt"cpp deines projektes, da gehst du rein und suchst den aufruf dlg.DoModal(); <--damit wird dein Dialog aufgerufen, jetzt setzt du vor's DoModal COLORREF clrCtlBk = RGB(229, 229, 229); COLORREF clrCtlText = RGB(0, 0, 0); SetDialogBkColor(clrCtlBk, clrCtlText); Ist glaub ich selbsterklärend oder? Wenn du deien Dialog mit ner BMP tapezieren willst, geht das auch, is auch net kompliziert, also: Öffne deinen Dialog im VC++, nun klickst du rechts drauf, wählst "Ereignisse..." nun suchst du dir links die Nachricht WM_CTLCOLOR, doppelklickst diese, nun klickst du sie rechts an und klickst auf "Code bearbeiten..."(oder so ähnlich) nun steht da schon eine Zeile Quellcode, nämlich: HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); Diese Kommentierst du aus und knallst folgende Zeile stattdessen rein: HBRUSH hbr = CreatePatternBrush(LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_BACK))); Ok, statt IDB_BITMAP_BACK musst du halt deine Bitmap-Ressource reinschreiben. Nun müsste alles tapeziert sein, wenn du willst dass der Text durchsichtig ist, schreibst du unter der neuen Zeile Quelltext noch: pDC->SetBkMode(TRANSPARENT); Und simmsalabimm, funktioniert des und sieht lustig aus! bye JO
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.