gpt4 book ai didi

delphi - 在代码中设置文本时,MaxLength属性无效

转载 作者:行者123 更新时间:2023-12-03 19:47:30 25 4
gpt4 key购买 nike

我注意到,当我设置Edit或DBEdit控件的MaxLength属性时,这不会阻止我在控件上放置比代码中的MaxLength大的文本。

例如,当我将MaxLength设置为12时


我无法使用键盘输入更长的值
我无法使用复制/粘贴功能粘贴较长的文本


但我可以这样做:

Edit1.Text := '012345678901234567890123456789'


这是正常行为吗?德尔福东京也是如此吗?
更重要的是,有一种简单的方法可以防止这种情况发生吗?

最佳答案

与10.2相同。东京。属性TEdit.Text是从TControl继承而来的(通过TCustomEditTWinControl)。而且TControl.SetTextMaxLength一无所知,因此它不限制文本长度。它间接发出CM_TEXTCHANGED消息,但是截获该消息的TCustomEdit也不使用该消息来限制文本长度。

防止这种情况的唯一方法可能是不分配超过12个“字符”的内容,或者将TCustomEdit子类化为您自己的TMyEdit,在您自己的SetText过程中进行检查,安装该组件并改用该组件。

关于delphi - 在代码中设置文本时,MaxLength属性无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52326232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com