gpt4 book ai didi

windows - Win32 多行编辑控件在 SetWindowText() 上丢失回车符

转载 作者:可可西里 更新时间:2023-11-01 14:07:50 35 4
gpt4 key购买 nike

在我的 C++ Win32 GUI 应用程序中,我有一个对话框,其中包含一个从对话框模板创建的编辑控件:

EDITTEXT   IDC_EDIT_Id, X, Y, W, H,
ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL

每当我手动输入带有回车符的多行文本并调用 GetWindowText() 时,检索到的文本被分成包含 CRLF 字符的行正如预期的那样。但是,当我尝试使用 SetWindowText() 将相同的文本放回编辑控件时,该控件将该文本显示为单个字符串。

为什么它会表现出这种行为,我该如何解决这个问题?

最佳答案

当您使用 SetWindowText 放回文本时,请确保您使用\r\n 作为换行符。

对我来说效果很好。

这将显示两行文本:

GetDlgItem(IDC_EDIT1)->SetWindowText(_T("Hello\r\nWorld!"));

Hello
World!

这将在 1 行上显示文本:

GetDlgItem(IDC_EDIT1)->SetWindowText(_T("Hello\nWorld!"));

HelloWorld!

关于windows - Win32 多行编辑控件在 SetWindowText() 上丢失回车符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1940766/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com