SwordMaster Geschrieben 14. Juni 2003 Geschrieben 14. Juni 2003 Ich habe ein Dialogfeldbassierendes Projekt mit mehreren dialogen! Ein Dialog müßte jedcoh eine andere Hintergrundfarbe haben! Könnt ihr mir helfen wie ich das mache?? ich benutze Visual Studio 6.0 Zitieren
ITSE Geschrieben 15. Juni 2003 Geschrieben 15. Juni 2003 Du musst in deiner Dialog-Klasse auf die Message WM_CTLCOLOR reagieren. (In deinem Fall reflected-Message mit nem "=" davor)... Die automatisch generierte Funktion müsste imho CtlColor heissen und bekommt einen cdc übergeben.... hier kannst du mit cdc->SetBKColor die Farbe ändern... Wenn du dazu noch genaueres suchst schau mal auf www.codeguru.com -> Discussion Board auf der linken Seite... Ist zwar auf englisch aber dafür saugut! cya Zitieren
Shlo Geschrieben 15. Juni 2003 Geschrieben 15. Juni 2003 am besten reagiert man auf WM_ERASEBKGND case WM_ERASEBKGND: hDC = GetDC(hWnd); GetClientRect(hWnd,&Rect); SelectObject(hDC,CreateSolidBrush(RGB(0,0,0))); Rectangle(hDC,0,0,Rect.right,Rect.bottom); break; Zitieren
Shlo Geschrieben 15. Juni 2003 Geschrieben 15. Juni 2003 Achja, bei einer MFC Anwendung sollte man auf WM_CTLCOLOR reagieren und dann einfach einen HBRUSH returnen Zitieren
SwordMaster Geschrieben 16. Juni 2003 Autor Geschrieben 16. Juni 2003 Hab nachgeschaut, aber Englisch ist wohl leider nicht mein fall jetzt hätte ich eine Behandlungsroutinge für die WM_CTLCOLOR eingerichtet => OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) und in dieser Methode hätte ich dann pDC->SetBKColor probiert aber da kommt die meldung dass SetBKColor kein element von CDC ist?!? Was mach ich falsch?!?!? Zitieren
Klotzkopp Geschrieben 16. Juni 2003 Geschrieben 16. Juni 2003 Original geschrieben von SwordMaster Was mach ich falsch?!?!? Du schreibst das K groß Zitieren
ITSE Geschrieben 17. Juni 2003 Geschrieben 17. Juni 2003 das mit dem HBRUSH zurückgeben gibts auch... Aber ich hab so ein dumpfes Gefühl dass es Fälle gibt in denen man es mit SetBkColor machen muss... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.