1

如何在多行编辑框中切换自动换行?

我可以使用或不使用它来创建它,但我不知道应该使用哪个消息来切换包装模式。

4

2 回答 2

1

标准 Windows 控件 EDITBOX 不支持切换自动换行。

记事本通过创建新的 EDITBOX 并销毁旧的来模拟它。您可以使用 Spy++ 验证这一点。观察切换自动换行后窗口句柄的变化。

于 2019-06-27T05:06:10.117 回答
1

EditBox 不支持切换自动换行。您无法发送任何消息,也无法更改窗口样式,因为MSDN 说

创建控件后,这些样式不能修改,除非另有说明。

您唯一的选择是创建一个具有所需样式的新控件 ( WS_HSCROLL|ES_AUTOHSCROLL),将文本复制到新控件中,然后销毁旧控件。

在 Windows 2000 和更高版本上,您可以使用EM_GETHANDLE+EM_SETHANDLE来交换缓冲区,而无需复制文本。

于 2019-06-27T10:21:58.867 回答