0

有谁知道如何在 C++ 中使用 wxStyledTextCtrl 获得智能缩进?

我一直在尝试以下各种变化,但没有明显成功:

_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");

注意:ScintillaNET 中的缩进和智能缩进涵盖了 .NET 的这个问题。

4

1 回答 1

2

SetProperty 方法用于为词法分析器添加其他设置。它通常用于与代码折叠相关的设置。它不用于设置控件本身的属性。要设置 wxStyledTextCtrl 的属性,您可能需要使用标准方法。例如,我猜这几行:

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

可能是这样的:

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

对于 '_textEd->SetProperty(wxT("indentation.smartindenttype"), wxT("indentation:simple"));',我不知道 smartindenttype 是什么。这可能是添加到 scintilla.net 的扩展吗?如果您可以描述该设置在 .net 中的作用,我也许可以通过其他方法调用帮助完成同样的事情。

同样,我不认为 '_textEd->SetProperty("spell.mistake.indicator", "style:squigglelow");' 行 与 wxStyledTextCtrl 有任何类似之处。包含的词法分析器都没有拼写检查器。

于 2016-12-01T03:26:10.120 回答