如何在 EditBox 中切换自动换行

How do I toggle word-wrap in a EditBox

如何在多行 EditBox 中切换自动换行?

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

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

记事本通过创建新的EDITBOX并销毁旧的来模拟它。您可以使用 Spy++ 验证这一点。观察切换自动换行后 window 如何处理更改。

EditBox 不支持切换word-wrap。没有可以发送的消息,也不能更改 window 样式,因为 MSDN says:

After the control has been created, these styles cannot be modified, except as noted.

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

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