sha*_*oth 4 windows winapi controls visual-c++
在我的C++ Win32 GUI应用程序中,我有一个对话框,其中包含一个从对话框模板创建的编辑控件:
EDITTEXT IDC_EDIT_Id, X, Y, W, H,
ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
Run Code Online (Sandbox Code Playgroud)
每当我用回车手动输入多行文本并调用GetWindowText()检索到的文本时,就会按预期分成带有CR和LF字符的行.但是,当我尝试将相同的文本放回编辑控件时SetWindowText(),控件将文本显示为单个字符串.
为什么会出现这种行为,我该如何解决这个问题呢?
当您使用SetWindowText放回文本时,请确保使用\ r \n作为换行符.
对我来说很好.
这将在2行显示文本:
GetDlgItem(IDC_EDIT1)->SetWindowText(_T("Hello\r\nWorld!"));
Run Code Online (Sandbox Code Playgroud)
你好
世界!
这将在1行显示文本:
GetDlgItem(IDC_EDIT1)->SetWindowText(_T("Hello\nWorld!"));
Run Code Online (Sandbox Code Playgroud)
你好,世界!