Seite 1 von 1

ico Größe ändern für Menü

Verfasst: Dienstag 15. Januar 2008, 14:10
von HarryPython
Hi.

Ich möchte gern Icons in mein Menü einfügen. Ich hab zahlreiche in der Größe 16x16 Pixel. Die sind leider zu groß. Was also machen???

Hier mein Versuch:

Code: Alles auswählen

# Menu Bar
        self.Main_Frame_menubar = wx.MenuBar()
        self.Datei = wx.Menu()
        self.Neu = wx.MenuItem(self.Datei, 101, "Neu...", "", wx.ITEM_NORMAL)
        
       
        
        bild = wx.Image("File01.ico", wx.BITMAP_TYPE_ICO).ConvertToBitmap()
        bild.SetWidth(40)
        bild.SetHeight(40)
        self.Neu.SetBitmap(bild)
        self.Refresh()
        
        
        self.Datei.AppendItem(self.Neu)
Ich glaub es wird nur der obere linke Teil meines Icons dargestellt.

Setze ich das Refresh() falsch, oder macht man das einbinden von icons ganz anders?

Danke

Gruß HP

Verfasst: Mittwoch 16. Januar 2008, 16:07
von HarryPython
Hi

Wer suchet der findet. Wahrscheinlich war die Frage zu einfach.

Kannte nur wx.Image, aber da gibt es ja auch noch wx.Icon. Und das bringt auch schon alles mit was man braucht. Hier also nun die Lösung:

Code: Alles auswählen

neu = wx.Icon("neu.ico", wx.BITMAP_TYPE_ICO, 16, 16)
self.Neu.SetBitmap(wx.BitmapFromIcon(neu))
Allerdings ist während der Laufzeit um die Icons zum Teil noch ein weißer Rand. Diesen bemerkt man dann, wenn man mit der Maus und dem dazugehörigen blauen Balken über den Menüeintrag fährt. Sieht nicht besonders toll aus.


Wie macht ihr das mit eurer Visu? Benutzt ihr die paar Icons aus wx.Art?



Gruß HP

Verfasst: Donnerstag 17. Januar 2008, 12:47
von HarryPython
Hi

Ich führe die Alleinunterhaltung mal weiter fort. :lol:

Der weiße Rahmen um die Icons lag an dem Icon Packet. Hatte mir das Vista Standard Icon Pack runtergeladen. Wenn man weiter sucht findet man auch noch welche, die vernünftig angezeigt werden.

Hab unter http://www.crystalxp.net/ für mich Icons gefunden die auch von wx richtig angezeigt werden.

Also viel Spass beim pimpen eurer Menüs.


Gruß HP