Bilder mit transparenten Bereichen auf Dialog platzieren

fujitsufan

Erfahrenes Mitglied
Hallo,
ich habe in meinem Dialog einem Steuerelement v. Typ "Picture Control" (id_SwitchBox) ein Bitmap zugewiesen.
Das Bitmap habe ich zuvor in meine Ressourcenliste im C++ Projekt (WinApi) importiert und eine ID (IDB_SWITCH) zugewiesen.
Im Setup meines Dialogs sieht das so aus.

C++:
HBITMAP hSwitch = LoadBitmap(hInstance, "IDB_SWITCH");
 
    //Bild einfügen
    SetBitmap(id_SwitchBox, hSwitch, true, true);

Das Bild (Bitmap) wird auch dargestellt, wunderbar vorerst.

Jetzt die Hürde.
Ist es überhaupt möglich transparente Bereiche in der Bitmap zu definieren?

Es soll in einem Dialog ein rundes Ziffernblatt dargestellt werden, eigentlich nichts besonderes.

Nur bei mir sind die andersfarbigen (als die Farbe des Dialogs) Ecken außerhalb des Kreises vom Ziffernblatt zu sehen.


Vielen Dank!
fujitsufan
 
Hallo,

der einfachste Weg dürfte wohl sein, statt eines Bitmaps ein Icon zu verwenden, da man da transparente Bereiche festlegen kann.
Andere Verfahren (über eine ImageList, oder mit GDI+ und png) bedeuten mehr Aufwand.

Gruß
MCoder
 
Hallo MCoder,

vielen Dank für den Tipp.
Versuch ich gleich mal, ob ich da weiter komme.
Ich hab´ da nicht weiter nachgedacht, weil unser Designer im Betrieb gemeint hat man brauche eine *.png oder *.jpg
um transparente Bereiche darzustellen.

mfG.
fujitsufan
 
Transparente Bereiche gegen nur mit *.png, aber nicht mit *.jpg und da müssest du dich auch vom Picture-Control verabschieden und direkt zeichnen.

Gruß
MCoder
 
Zurück