Seite 1 von 1

wx.stc.StyledTextCtrl

Verfasst: Montag 14. Januar 2008, 07:35
von nkoehring
Hallo...

ich versuche gerade die Hintergrundfarbe des StyleTextCtrl zu manipulieren. Aber das Ding will auf Biegen und Brechen weiß bleiben!

Code: Alles auswählen

        self.SetBackgroundColour("#000000")
        self.ClearBackground()
Das funktioniert jedenfalls nicht. Wenn ich mir BackgroundColour ausgeben lasse, bekomme ich aber richtigerweise (0, 0, 0, 255) zurueck...

Wie kann ich ihn ueberzeugen, die Farbe nicht nur zu setzen, sondern auch zu zeigen?

Verfasst: Montag 14. Januar 2008, 15:42
von Hobbes Hobson
ich weiß nicht ob es daran liegt, aber mal "Update" oder "Refresh" probiert?

Verfasst: Montag 14. Januar 2008, 17:57
von nkoehring
Hi Hobbes Hobson,

das macht leider keinen Unterschied. Ich setze die Farben außerdem schon waerend der Initialisierung...

Verfasst: Montag 14. Januar 2008, 18:19
von Zap
Vielleicht hast du einen Bug gefunden. Ist ja nicht auszuschließen, ist ja auch nur Software.
Würde da mal gucken ob es nen Case dazu gibt.

Verfasst: Montag 14. Januar 2008, 21:45
von gerold
Hallo!

Das StyledTextCtrl ist "Scintilla". Vielleicht kann Scintilla das ja gar nicht. Wer weiß. Vielleicht lässt sich so etwas auch nur über einen Style einstellen. Bei Scintilla kenne ich mich nicht aus.

mfg
Gerold
:-)

Verfasst: Dienstag 15. Januar 2008, 17:49
von nkoehring
Ha! Ich habs rausgefunden!

Da muss man erstmal drauf kommen ;)
Die allgemeine Hintergrundfarbe ist auch ein Style, naemlich der mit der Nummer 32. Also braucht man einfach folgende CodeZeile um ihn Schwarz zu faerben:

Code: Alles auswählen

self.StyleSetBackground(32, "black")
Oder am besten diese Schleife um von vornherein erstmal alles mit schwarzen Hintergrund und weißem Vordergrund zu versehen, so das man sich spaeter nicht um noch mehr Farben kuemmern muss als man es bei weißem Hintergrund muesste:

Code: Alles auswählen

    for i in xrange(33):
        self.StyleSetForeground(i, "white")
        self.StyleSetBackground(i, "black")
Wobei self natuerlich nur bei einer von wx.stc.StyledTextCtrl abgeerbten Klasse benutzt wuerde.