如何在EditBox中切换自动换行

时间:2019-06-26 21:48:36

标签: windows winapi windows-7 common-controls microsoft-common-controls

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

无论是否创建,我都可以创建它,但是我不知道应该使用哪条消息来切换环绕模式。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

  

创建控件后,除非另有说明,否则无法修改这些样式。

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

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