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

Joh*_*202 4 c++ winapi character-limit editcontrol

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

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

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

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

我的问题

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

Cod*_*ray 7

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

您可能还对 感兴趣ES_MULTILINE,它的作用正如其所言。默认(没有此样式)是单行编辑控件。

所有可用的样式都记录在此处。这些只是常规窗口样式,而不是扩展窗口样式。

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