Hey DatenMetzgerX,
also bei mir funktioniert die Variante mit ClientDC.
Nachfolgend mal mein Beispielcode:
Code: Alles auswählen
def OnButtonDemoButton(self, event):
dc = wx.ClientDC(self.__toolBar)
dc.SetBackground(wx.Brush(self.GetBackgroundColour()))
dc.Clear()
dc.SetFont(wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD))
dc.DrawText('Hallo', 40, 1)
event.Skip()
def __InitToolBar(self):
#Toolbar erzeugen
self.__toolBar = self.CreateToolBar( wx.TB_HORIZONTAL
| wx.TB_FLAT
| wx.TB_TEXT
)
tsize = (16,16)
new_bmp = wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, tsize)
open_bmp = wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN, wx.ART_TOOLBAR, tsize)
save_bmp = wx.ArtProvider.GetBitmap(wx.ART_FILE_SAVE, wx.ART_TOOLBAR, tsize)
self.__toolBar.SetToolBitmapSize(tsize)
id = wx.NewId()
self.__toolBar.AddSimpleTool(id , new_bmp, "Neu")
#self.__toolBar.Bind(wx.EVT_TOOL, self.OnBtnNew, id=id)
id = wx.NewId()
self.__toolBar.AddSimpleTool(id , open_bmp, "Konfigurationsdatei öffnen")
#self.__toolBar.Bind(wx.EVT_TOOL, self.OnBtnLoadConfig, id=id)
id = wx.NewId()
self.__toolBar.AddSimpleTool(id , save_bmp, "Konfigurationsdatei speichern")
#self.__toolBar.Bind(wx.EVT_TOOL, self.OnBtnSaveConfig, id=id)
self.__toolBar.Realize()
In der Funktion "__InitToolBar" wird die Toolbar generiert. Dann habe ich als Beispiel die Button-Eventfkt. genutzt, um das "dc"-Objekt zu erzeugen.
Was du aber beachten mußt, wenn sich die eigentliche Toolbar neu zeichnet(z.B. wenn du mit der Maus über sie fährst), werden deine grafische Eigenschaften mit der ursprünglichen Grafik überzeichnet.
greets george