Bitmap-Button und Windows XP Style?
-
Hallo Coders

Vielleicht könnt ihr mir weiterhelfen, die Suche hat nichts ergeben

Folgendes: Ich habe einen Button mit dem BS_BITMAP-Style. Diesem Button will ich nun anstatt einem Text ein Bild zuweisen, das mache ich ja so:
HBITMAP bild = (HBITMAP) LoadImage (NULL, filename, IMAGE_BITMAP,NULL, NULL, LR_LOADFROMFILE | LR_DEFAULTSIZE | LR_DEFAULTCOLOR | LR_LOADTRANSPARENT ); SendMessage (hImageButton, BM_SETIMAGE, (WPARAM) IMAGE_BITMAP,(LPARAM)(HANDLE) bild);Funzt ja auch. Die Problematik ist allerdings nun folgende: Wenn ich das unter Windows XP mit eingeschaltetem Style mache, hat der Button auf einmal keine abgerundeten Ecken, sondern wieder rechtwinklige, wie wenn ich kein XP Style eingeschaltet hätte. Kann ich das irgendwie unterbinden, das der Button trotz des Bildes auch Windows XP Styles annimmt?
Ich danke euch!
Gruss,
~code_pilot
-
Spontaner EInfall:
Button ganz normal erstellen lassen und subclassen.
Dann das Bild in die Clientarea des Buttons selber reinsetzen.
Das malen der runden Ränder erledigt das Onkel Windows für dich.Gruß Tolga.
-
Hi Tolga,
du meinst also als static mit SS_BITMAP-Attribute? Hmm Subclassing habe ich selber noch nie gemacht...
~cp
-
Nein, nicht als Static, als normalen Button ohne dein Bitmap erst mal.
Dann fängst du via Subclassing die WM_PAINTS's ab, lässt Windows erst mal den Button normal Zeichnen, fügst dann aber in die Clientarea dein Bitmap ein.Wie Subclassing geht kann ich auch Zeitgründen nicht erklären. Sieh dich im Web um.
Gruß Tolga