Bunte Schrift im DC
Verfasst: Montag 24. September 2007, 10:21
Hi mal wieder...
ich haette ja so total Lust ein eigenes Widget zu basteln. Das ist auch soweit alles kein Problem, bis auf eine kleine Sache:
Ich Zeichne das Widget komplett per DC (erstmal Zeichne ich per MemoryDC ein Bitmap, dass ich dann beim Paint-Event gepuffert auf das Control malen lasse).
Text schreiben ist ja nun auch garkein Problem, geht alles toll und einfach... aber nur eine Sache nicht: Die Schriftfarbe!
Wie kann ich die Schriftfarbe einstellen? Ich will doch nicht nur schwarz auf das Widget schreiben. Ich hab aber nun auch keine Lust, extra Fancy-Text oder sowas zu verwenden. Geht das nicht einfacher?
Zur allgemeinen Veranschaulichung, hier meine Methode create_bitmap:
Gruesse
NKoehring
PS: foregroundcolour und was es da noch so alles gibt, funktioniert nicht...
ich haette ja so total Lust ein eigenes Widget zu basteln. Das ist auch soweit alles kein Problem, bis auf eine kleine Sache:
Ich Zeichne das Widget komplett per DC (erstmal Zeichne ich per MemoryDC ein Bitmap, dass ich dann beim Paint-Event gepuffert auf das Control malen lasse).
Text schreiben ist ja nun auch garkein Problem, geht alles toll und einfach... aber nur eine Sache nicht: Die Schriftfarbe!
Wie kann ich die Schriftfarbe einstellen? Ich will doch nicht nur schwarz auf das Widget schreiben. Ich hab aber nun auch keine Lust, extra Fancy-Text oder sowas zu verwenden. Geht das nicht einfacher?
Zur allgemeinen Veranschaulichung, hier meine Methode create_bitmap:
Code: Alles auswählen
def create_bitmap(self):
bmp = wx.EmptyBitmap(*self.GetClientSize())
print bmp.GetSize()
dc = wx.MemoryDC(bmp)
dc.SetPen(wx.Pen("white"))
dc.SetFont(wx.FFont(10, wx.FIXED))
dc.Clear()
dc.DrawRectangle(0, 0, bmp.GetWidth()-2, bmp.GetHeight()-2)
gradient = wx.Bitmap("gradient.bmp")
gradient.SetHeight(bmp.GetSize().y-2)
i=0
while i < bmp.GetWidth()-2:
dc.DrawBitmap(gradient, i+1, 1)
i+=1
dc.DrawText(self.label, 2, 2)
dc.SelectObject(wx.NullBitmap)
return bmp
NKoehring
PS: foregroundcolour und was es da noch so alles gibt, funktioniert nicht...