wxTextCtrl проблемы с новой строкой

Я борюсь с неприятной проблемой с моим 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");

И я получаю:

Некоторый текст — Новая строка — Другая новая строка — Добавить новую строку

Сначала я подумал, что есть проблема с Многострочный свойство но detail->IsMultiLine() вернуть true

любая помощь будет оценена,

1

Решение

Вы должны указать свойство 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);
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]