Logo mit transparenten Hintergrund in CDialog anzeigen lassen
-
Hallo,
ich verwende VS2008 und möchte gerne ein Logo (Bitmap) hinzufügen.
Benutzen wollte ich eigentlich PictureBox (einfach ist ja nicht schlech)Aber ich stelle mich einfach zu blöd an

Die Grafik liegt in CorelDraw vor und kann als alle mögliche importiert werden.
Hintergrund ist hier weis. Grautöne will ich nicht verwenden, da mit jeder windows version der grauton anders ist.Ich bekomme die Grafik nicht mal mit transparenten Hintergrund in VS2008.
BMP: keine transparenz
gif+jpg: fehlermeldung in vs2008, dass er das dateiformat nicht lesen kann
auch wenn ich die grafik nochmal mit irfanview speichere gehts nicht
png: geht, aber dann ist das keine bitmap sondern ein png welches ich nicht mit einer picturebox verwenden kann.Aktuelle Notlösung: Der Dialog hat einen weißen Hintegrund. Nun soll aber noch ein Tab dazu und der ist wiederum grau. also auch alles doof.
Mag mit jemand mal einen tip geben?
Stefan
-
Mit einer ImageList kannst Du das hinbekommen. Bitmap in die Imagelist laden, eine bestimmte Farbe als Hintergrund definieren. Einfach in die ImageList laden und mit dieser zeichnen.
Oder manuell:
- Bitmap laden (eine Farbe zur substitution)
- Monochrome Bitmap erzeugen (0 an den Stellen mit der Substitutionsfarbe)
- Jetzt mit der maske und der ROP Operation ROP_DSPDxax (0x00E20746) die Bitmap in den DC mit BitBlt kopieren. Dabei werden alle Bereiche mit der 0 in der Maske nicht kopiert.Und die Win32 API kennt auch MaskBlt!
-
Also mit einer PictureBox gehts nicht?
Stefan
-
IMHO nein!