取消对可输入 Win32 Edit 控件的字符数的限制

Remove the limit on the number of characters that can be entered into a Win32 Edit control

我到处搜索,似乎找不到解决这个问题的方法..

我的问题不是限制可以输入编辑控件的字符数量,我的问题是我受限于编辑控件的大小。我希望能够输入超过编辑控件的大小。

我已经尝试使用 SendMessage 将字符限制扩展到更高的数字并发送 EM_LIMITTEXT,但这似乎只有在我想进一步限制它时才有效。

这是我的问题的图片示例:

我使用 CreateWindowEx 创建编辑控件,但似乎没有扩展 window 样式或实现我想要的编辑控件样式。

您要找的款式是ES_AUTOHSCROLL。没有这种风格,输入不能超过编辑控件的长度。使用此样式,当输入到达控件末尾时,文本会自动向右滚动 10 个字符。

您可能还对 ES_MULTILINE 感兴趣,它的功能完全符合其说明。默认(没有此样式)是单行编辑控件。

所有可用样式都已记录 here。这些只是常规 window 样式,不是扩展样式。

另外,我很确定您不能在创建控件后在运行时更改这些样式。因此,请确保在您调用 CreateWindowEx 时指定它们,或者如果控件位于对话框中,则在您的资源文件中指定它们。