2016-11-30 2 views
1

Weiß jemand, wie man intelligente Einrückung mit der WxStyledTextCtrl in C++ arbeiten?Einrückung und intelligenter Einzug in WxStyledTextCtrl (Scintilla)

Ich habe ohne ersichtlichen Erfolg verschiedene Variationen auf der folgenden versucht:

_textEd->SetProperty(wxT("indentation.smartindenttype"), wxT("indentation:simple")); 
_textEd->SetProperty(wxT("indentation.indentwidth"), wxT("4")); 
_textEd->SetProperty(wxT("indentation.tabwidth"), wxT("4")); 
_textEd->SetProperty("spell.mistake.indicator", "style:squigglelow"); 

Hinweis: Indentation and smart indent in ScintillaNET deckt dieses Problem für .NET.

+0

funktioniert stc Beispiel für Sie? Was ist deine Version und dein OS/Toolkit? – Igor

Antwort

1

Die SetProperty-Methode wird verwendet, um zusätzliche Einstellungen für einen Lexer hinzuzufügen. Es wird normalerweise für Einstellungen verwendet, die sich auf das Codefalten beziehen. Es wird nicht verwendet, um Eigenschaften für das Steuerelement selbst festzulegen. Zum Festlegen der Eigenschaften von wxStyledTextCtrl möchten Sie wahrscheinlich standard methods verwenden. Zum Beispiel, ich denke, die folgenden Zeilen:

_textEd->SetProperty(wxT("indentation.indentwidth"), wxT("4")); 
_textEd->SetProperty(wxT("indentation.tabwidth"), wxT("4")); 

wahrscheinlich wäre so etwas wie:

_textEd->SetIndent(4); 
_textEd->SetTabWidth(4); 

für ‚_textEd-> SetProperty (WXT ("indentation.smartindenttype"), WXT (" Vertiefung: einfach "));" Ich habe keine Ahnung, was für ein intelligenter Typ ist. Ist das vielleicht eine Erweiterung, die zu szintilla.net hinzugefügt wurde? Wenn Sie beschreiben können, was diese Einstellung in .net tut, kann ich möglicherweise dazu beitragen, dasselbe mit anderen Methodenaufrufen zu erreichen.

Ebenso denke ich nicht die Zeile '_textEd-> SetProperty ("spell.mistake.indicator", "style: squigglelow");' hat ein analoges mit wxStyledTextCtrl. Keiner der enthaltenen Lexer hat eine Rechtschreibprüfung.