commcrtl und Vista
-
Hallo,
Ich benutze 2 PCs, mit Vista und XP.
Auf dem XP-PC sieht der Button so aus: http://pics-load.net/?v=images/raXRrTqOYfListBox-Screen-XP.jpg
Aber auf dem Vista-PC hat er so einen weißen rand:http://pics-load.net/?v=images/OW1bBmEEg4List-bessser-Vista.jpgWie kann ich machen das bei Vista die Buttons so aussehen wie bei XP?
MfG, Andrew
P.S:Ich hab gehört dass das mit WM_CTLCOLORBTN geht aber wie soll ich auf die Nachricht reagieren?
-
Wer zeichnet denn den Hintergrund?
Ich sehe eher ein Problem, dass für das Zeichnen hier der Hintergrund geclippt wird.
-
Ich hab gar nichts geclippt! (soviel ich weiß.)
Ich hab den StandardHintergrund genommen dh.wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
-
Okay hab es jetzt gefunden hier im FAQ!
case WM_CTLCOLOREDIT: SetBkMode((HDC)wParam,TRANSPARENT); // Texthintergrund auf transparent setzen SetTextColor((HDC)wParam,RGB(255,255,255)); // Textfarbe auf Weiss setzen return (long)CreateSolidBrush(RGB(0,0,0)); // Hintergrundfarbe auf schwarz setzen break;das hab ich dann geändert in:
case WM_CTLCOLORBTN: SetBkMode((HDC)wParam,TRANSPARENT); // Texthintergrund auf transparent setzen SetTextColor((HDC)wParam,RGB(255,255,255)); // Textfarbe auf Weiss setzen return (long)CreateSolidBrush(RGB(0,0,0)); // Hintergrundfarbe auf schwarz setzen break;Also jetzt kann ich die Hintergundefarbe von dem Button ändern aber wie ist die Standardfarbe also dieses grau? (Wenn es keiner weiß änder ich einfach die HIntergrundfabe von dem ganzen Fenster, aber ich würd es gerne wissen!)
/edit:
Ich glaube es ist ungefähr 200,200,200!Mfg, Andrew