我从wxStreamToTextRedirector 获得的结果是一行。新线丢失了...... wxStreamToTextRedirector只有一个参数应该将输出重定向到cout,我有 不知道为什么换行不被cout处理,因为......
更新:简化示例:产生相同的结果,即换行丢失。
textctrl = new wxTextCtrl(this, -1, wxT(""), wxPoint(-1, -1),
wxSize(250, 150));
{
wxStreamToTextRedirector redirect(textctrl);
string result = "line1\n Line2\n";
cout << result;
}
Output ---> line1 Line2, as appears in the textctrl window. May it be that textctrl
window does not interpret
\n correctly? I am using wxWidets on a Windows machine.
答案 0 :(得分:0)
创建wxTextCtrl
时,默认创建它时不支持多行。你必须告诉它你打算使用多行。如果您使用带有wxSmith的Code :: Blocks(我推荐),您可以在wxTextCtrl
的属性中指定:
如果您使用代码手动创建它,则只需在构造函数的 style 参数中指定wxTE_MULTILINE
,如下所示:
textctrl = new wxTextCtrl(this, -1, wxT(""), wxPoint(-1, -1), wxSize(250, 150),wxTE_MULTILINE);
有关详情,请查看this page about the possible styles,特别是this section,了解构造函数。