TEdit 控件的 NumbersOnly 属性

Posted

技术标签:

【中文标题】TEdit 控件的 NumbersOnly 属性【英文标题】:NumbersOnly property of TEdit control 【发布时间】:2019-06-22 12:44:34 【问题描述】:

从the documentation 不清楚NumbersOnly 属性设置为“true”是否允许引入带小数点分隔符的数字。在我的小测试中,我得出的结论是只允许整数,但我不确定,正在寻找确认。

【问题讨论】:

【参考方案1】:

NumbersOnly 属性设置/清除 Edit 的 HWND 句柄上的 ES_NUMBER style:

只允许在编辑控件中输入数字。请注意,即使使用此设置,仍然可以将非数字粘贴到编辑控件中。

所以不,它不允许用户键入小数点分隔符,但用户可以复制/粘贴一个到编辑字段中。

如果您希望用户能够键入小数点分隔符,请不要将 NumbersOnly 设置为 true,而是使用 OnKey(Down|Up|Press) 事件来根据需要手动过滤掉不需要的击键。

否则,请查找本机支持十进制数字输入的第 3 方编辑控件。许多流行的 VCL 组件套件(TMS、DevExpress 等)都有自定义编辑控件,其功能比标准 TEdit 提供的功能更多。

【讨论】:

以上是关于TEdit 控件的 NumbersOnly 属性的主要内容,如果未能解决你的问题,请参考以下文章

Delphi 之 编辑框控件(TEdit)

TEDIT编辑输入框属性展示

delphi,N个edit控件,1个button控件,做修改操作的时候,无论在哪个edit中输入,单击button都成功修改并

如何在 TEdit 控件中设置文本对齐

如何在 THeaderSection 中嵌入 VCL TEdit 控件?

在 Delphi VCL 中通过组合两个控件(TEdit 和 TTrackBar)创建一个新组件