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 に答える