wxMenu transparente Icons?



  • Hallo!
    ich habe ein Problem mit Icons in der wxMenu. Mein Code läd z.B. eine BMP-Datei in ein wxMenuItem, das geht ganz gut, aber sobald man mit der Maus drüber fährt, sind hässliche weiße Stellen zu sehen, die transparent ganz schön wären. PNG wird von Windows leider nicht unterstützt. (Nur Ico, das mag Linux nicht. -.-)

    wxMenuItem *menuSave = new wxMenuItem(GPMenu.menuFile, MENU_SAVE, "Sichern\tSTRG+S", "Eine Pascal-Datei speichern");
    	wxBitmap bitmapSave("save.bmp", wxBITMAP_TYPE_BMP);
    	menuSave->SetBitmap(bitmapSave);
    

    Wie kann ich Icons transparent machen? Firefox kann's in seiner GUI ja auch, was bietet wxWidgets hier? wxIcon lässt sich zwar kompilieren und zum Bitmap umformen, aber das Icon wird einfach nicht angezeigt.



  • Ad aCTa schrieb:

    PNG wird von Windows leider nicht unterstützt. (Nur Ico, das mag Linux nicht. -.-)

    Das kann schon sein. Es wäre mir aber neu, dass wxWidgets von sich aus kein PNG unterstützt.



  • devkid schrieb:

    Wie kann ich Icons transparent machen? Firefox kann's in seiner GUI ja auch, was bietet wxWidgets hier?

    Dein Problem ist eher die BMP-Unterstützung unter Windows™. Diesen Effekt kann man am einfachsten nachprüfen, in dem man das problematische Bild in Paint™ bearbeitet.

    Da wxWidgets die nativen Platform-Funktionen von Windows™ benutzt sind die Probleme natürlich hausgemacht(Redmond).
    Passiert leider häufiger und auch mit transparenten PNGs.

    Lösung 1, man erzeuge ein Win-Konformes BMP.
    Lösung 2, man nehme ein Bild-Format(wxImage) das nicht betroffen ist und konvertiere das in ein wxBitmap.

    Greetz



  • Hab mit Adobe PS ein transparentes PNG erzeugt und verwende nun ein von wxImage gecastetes wxBitmap. Danke!



  • nurf schrieb:

    devkid schrieb:

    Wie kann ich Icons transparent machen? Firefox kann's in seiner GUI ja auch, was bietet wxWidgets hier?

    Eine Unterstellung! Das hab ich nicht geschrieben! 😡 ... 😃


Log in to reply