Weiße Linie um Button (XP - Style)
-
hi,
wenn ich einen Button erstelle und der WinXP Style via Manifest eingestellt ist, dann zeichnet mein Programm eine dünne weiße Linie um den Button (was natürlich bescheuert aussieht^^) hier mal ein Bild was ich meine http://img34.imageshack.us/img34/5143/buttonx.jpg
Meine Frage ist also: wie kriege ich diese Linie weg?Gruß
-
Hallo Douny,
Bitte schaue im FAQ unter http://www.c-plusplus.net/forum/viewtopic-var-t-is-187370.html nach. Ich hatte dieses Problem auch und so hab ich es hingekriegt.
Dann nur noch :[cpp]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;[code]und die linien sind weg!
MfG, Andrew
-
danke funktioniert prima, so lange man einen schwarzen Hintergrund hat. Wenn man allerdings die Hinterdrundfarbe ändert, dann muss man ja auch die Hinterdrundfarbe des Buttons ändern. Geht es auch irgendwie dass der Buttonhintergrund komplett transparent ist?
gruß
-
Dein Fenster zeichnet einfach nicht den Hintergrund korrekt. Das liegt nicht an dem Button!
-
Das verstehe ich jetzt nicht ganz
... Wenn das Hauptfenster zB. ein blaues Bild als Hintergrund hat wie kann ich es dann "richtig" Zeichnen, dass ich bei einem Button oder bei einer Combobox keine weißen Ränder/Ecken hat??MfG Tim
-
Wenn Dein Hintergrund z.B. eine Bitmap ist, die im WM_ERASEBKGND einer WndProc gezeichnet wird, und Du WM_CTLCOLOR korrekt angepasst hat, wird auch der Button darauf korrekt gezeichnet.
http://msdn.microsoft.com/msdnmag/issues/01/10/c/
http://www.codeproject.com/KB/dialog/DialogBoxBitmapBackground.aspx@Andrew3726: Es ist natürlich absoluter Unfug jedesmal einen Brush ztu erzeugen.
Den Brush speichert man sich im Dialog.
-
Martin Richter schrieb:
"You do not have permission to view this directory or page."
Ich werde es mal ausprobieren..
Und was meinst du mit:
Martin Richter schrieb:
und Du WM_CTLCOLOR korrekt angepasst hat
Meinst du damit das, was Andrew3726 oben geschrieben hat? Und ist es mit einer Combobox genau so??
Schon mal vielen Dank.
MfG Tim
-
Ja aber da heißt die nachricht nicht so (also nicht WM_CTLCOLORBTN) sondern anders, ich weriß aber nicht wie.
-
Fatal Error appears schrieb:
Martin Richter schrieb:
"You do not have permission to view this directory or page."
Der Link ist veraltet, nimm stattdessen: http://msdn.microsoft.com/en-us/magazine/cc135808.aspx
Und klicke auf "Displaying a JPG in your MFC Application"@Andrew3726: WM_CTLCOLORSTATIC
Martin
-
Super!! Vielen Dank euch Beiden!