TEdit 控件的 NumbersOnly 属性

NumbersOnly property of TEdit control

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

Edit 的 HWND 句柄上的 NumbersOnly 属性 sets/clears ES_NUMBER style:

Allows only digits to be entered into the edit control. Note that, even with this set, it is still possible to paste non-digits into the edit control.

所以不,它不允许用户键入小数点分隔符,但用户可以copy/paste进入编辑字段。

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

要不,找一个原生支持十进制数输入的第3方Edit控件。许多流行的 VCL 组件套件(TMS、DevExpress 等)具有比标准 TEdit 提供的功能更多的自定义编辑控件。