C++ 如何使用SendMessage在多行文本框中添加新行/换行符?

C++ 如何使用SendMessage在多行文本框中添加新行/换行符?,c++,c,winapi,C++,C,Winapi,此函数用于将文本追加到窗口的末尾,但我希望它追加换行符/换行符,追加\n似乎不起作用 如果文本框中的当前文本为“cat”,并且我添加了“dog”,则结果将为“catdog”,但我希望它是: “猫 “狗” 您需要附加\r\n,而不仅仅是\n(因为这是Windows,而不是*nix)。您需要附加\r\n,而不仅仅是\n(因为这是Windows,而不是*nix)。文本对非文本无效。无论如何,我建议从一开始就使用宽字符串。@chris“无用”的意思可能是错的。符号newText和LnewText@IIn

此函数用于将文本追加到窗口的末尾,但我希望它追加换行符/换行符,追加\n似乎不起作用

如果文本框中的当前文本为“cat”,并且我添加了“dog”,则结果将为“catdog”,但我希望它是:

“猫
“狗”


您需要附加
\r\n
,而不仅仅是
\n
(因为这是Windows,而不是*nix)。

您需要附加
\r\n
,而不仅仅是
\n
(因为这是Windows,而不是*nix)。

文本
对非文本无效。无论如何,我建议从一开始就使用宽字符串。@chris“无用”的意思可能是错的。符号
newText
LnewText
@IInspectable之间有区别,是的,而且在L前面加错确实会使它变得毫无用处:p
TEXT
对非文字无效。无论如何,我建议从一开始就使用宽字符串。@chris“无用”的意思可能是错的。符号
newText
LnewText
@IInspectable之间有区别,是的,而且在L前面加上前缀是错误的,这确实使它毫无用处:p
void appendmessage(LPCTSTR newText, HWND hwnd)
{
 SendMessage(hwnd, EM_SETSEL, 0, -1); 
 SendMessage(hwnd, EM_SETSEL, -1, -1); 
 SendMessage(hwnd, EM_REPLACESEL, 0, (LPARAM)TEXT(newText)); 

}