3

wxTextCtrl の厄介な問題と戦っています。何を試しても、新しい行を追加する方法はありません。wxTextCtrl は、改行の代わりに四角い文字を表示します。
関連するコードは次のとおりです。

wxTextCtrl  * detail = new wxTextCtrl (this,wxID_ANY);
detail->SetWindowStyle(wxTE_MULTILINE);
detail->SetEditable(false);

detail->AppendText("Some text");
detail->AppendText("\n New line");
detail->AppendText("\n An other new line\n");
detail->AppendText("Again a new line");  

そして私は得る:

一部のテキスト◻◻改行◻◻別の改行◻◻再び改行

最初はMultilineプロパティに問題があると思ったがdetail->IsMultiLine()戻ってきたtrue

どんな助けでも大歓迎です、

4

1 に答える 1

6

オブジェクトを作成するときは、Multiline プロパティを指定する必要があります。後から設定することはできません。

wxWidgets のドキュメントから、具体的に次のように言及されています。

Note that alignment styles (wxTE_LEFT, wxTE_CENTRE and wxTE_RIGHT) can be changed dynamically after control creation on wxMSW and wxGTK. wxTE_READONLY, wxTE_PASSWORD and wrapping styles can be dynamically changed under wxGTK but not wxMSW. The other styles can be only set during control creation.

それ以外の:

detail->SetWindowStyle(wxTE_MULTILINE);

これはうまくいくはずです:

wxTextCtrl(this,wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE);
于 2013-05-22T08:28:55.897 に答える