wxDC :: wxTextEntryDialog转义换行符

时间:2014-09-23 20:08:39

标签: wxwidgets

wxTextEntryDialog转换' \ n'进入' \\ n'

此代码

 dc.DrawText( "line a\nline b", 10, 100 );

输出我的期望

line a
line b

所以我编码:

wxTextEntryDialog dlg(this,"","Name the flower");
dlg.ShowModal();
setName( dlg.GetValue().wc_str() );
dc->DrawText( getName(), 10, 10 );

并输入

line a\nline b

,显示屏显示

排成一行\ nline b

在Windows上使用wxWidgets v3.0.1

2 个答案:

答案 0 :(得分:0)

drawing sample表明DrawText()可以使用多行,因此您的代码必定存在问题。我不能说什么,虽然你没有向我们展示太多,你所展示的片段甚至无法编译,因为争论顺序是错误的,所以很明显你必须在真实中做一些不同的事情。程序

答案 1 :(得分:0)

解决方法是添加

wxString name = getName();
name.Replace("\\n","\n");
dc->DrawText( name, 10, 10 );

enter image description here

https://www.dropbox.com/s/l6wu7pxtwvcj9vp/so26003871.zip?dl=0

的演示应用的完整源代码