首页 > 解决方案 > 使用 SetWindowText 时 win32 gui 文本框上的换行符

问题描述

我在 win32 gui 应用程序上创建了一个文本框。稍后我尝试为其设置文本,但换行符“\n”在使用时不起作用SetWindowText

g_ButtonManager.hWndThirtyText = CreateWindowExW(WS_EX_CLIENTEDGE, TEXT("Edit"), TEXT(""),
       WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
       10, 95, //x,y
       200, 60, //width, height
       hWnd, (HMENU)IDM_THIRTYTEXT, NULL, NULL);

即使我:

SetWindowTextA(g_ButtonManager.hWndThirtyText, "Hello\nThere");

它显示HelloThere在同一行。

在此处输入图像描述

- -编辑

即使| ES_WANTRETURN

g_ButtonManager.hWndThirtyText = CreateWindowExW(WS_EX_CLIENTEDGE, TEXT("Edit"), TEXT("Hello\nMy\nFriend"),
       WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE | ES_WANTRETURN,,
       10, 95, //x,y
       200, 60, //width, height
       hWnd, (HMENU)IDM_THIRTYTEXT, NULL, NULL);

不管用。

标签: c++windows

解决方案


哦,我想通了。

\r\n换行符是必需的。


推荐阅读