wxStyledTextCtrl -- Lexer / Code Highlighting

Plattformunabhängige GUIs mit wxWidgets.
Antworten
fschaef
User
Beiträge: 3
Registriert: Freitag 27. Juni 2008, 14:54

Hallo,

kann mir jemand beim 'Aufstarten' helfen bzgl. des wxStyledTextCtrl
widgets. Es geht um das färben von Text entsprechend der Programmiersprache. Ich schrieb den folgenden Schnipsel:

text_ctrl.StyleSetFont(wx.stc.STC_STYLE_DEFAULT, wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL))

text_ctrl.SetText(text)
text_ctrl.ClearDocumentStyle()
language = map_extension_to_lexer_mode[extension]
text_ctrl.SetLexerLanguage(language)
text_ctrl.Colourise(0, len(text))


Leider wird der Text nur schwarz-weiss dargestellt. Den zündenden Funken konnte ich in der Doku leider noch nicht finden.


Beste Grüsse

Frank
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Hilft das evtl. weiter?
http://www.yellowbrain.com/stc/lexing.html
MfG
HWK
fschaef
User
Beiträge: 3
Registriert: Freitag 27. Juni 2008, 14:54

Da war ich schon und das hat mir auch sehr geholfen. Leider konnte ich keine ad hoc Lösung finden. Warhscheinlich fehlt nur ein kleiner Aufruf. Den kann ich leider nicht ausfindig machen.
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

fschaef hat geschrieben:Da war ich schon und das hat mir auch sehr geholfen. Leider konnte ich keine ad hoc Lösung finden. Warhscheinlich fehlt nur ein kleiner Aufruf. Den kann ich leider nicht ausfindig machen.
Hallo, wenn du einen Lexer verwendest, funktioniert das zusätzliche Einfärben nicht, da die Farben (Styles) mit dem Lexer automatisch überschrieben werden. Wie das genau funktioniert, weiss ich auch nicht. Am besten in der wxPython mailing list fragen.
Antworten