如何更改 TEdit 默认错误消息(NumbersOnly 模式)?

发布于 2024-11-27 04:39:31 字数 230 浏览 0 评论 0原文

当我在 NumbersOnly 中使用 TEdit 时,如何更改它的默认错误消息模式。我的意思是这个错误:

不可接受的字符您只能在此处输入数字

是否可以更改此消息?

How can I change the TEdit's default error message when I use it in NumbersOnly mode. I mean this error:

Unacceptable character You can only type a number here

Is it possible to change this message ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

海夕 2024-12-04 04:39:31

我不知道更改该消息的值(由 Windows 处理)的直接方法,但您可以使用 Abort 过程中的 OnKeyPress 事件。

检查此示例

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (CharInSet(Key,['0'..'9',#8,#9]))  then      
  begin
    ShowHintMessage('Only numbers please');//you must write this function 
    Abort;//this will prevent which the original windows hint was shown
  end;
end;

您必须知道此代码将阻止在控件上执行剪贴板操作。

更新

I 更新代码以允许使用 Tab(#9) 和 Back space(#8) 字符。

I don't know a direct way to change the value of that message (which is handled by Windows) but you can show your own message and then avoid to show the original windows hint ballon, using the Abort procedure in the OnKeyPress Event.

Check this sample

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (CharInSet(Key,['0'..'9',#8,#9]))  then      
  begin
    ShowHintMessage('Only numbers please');//you must write this function 
    Abort;//this will prevent which the original windows hint was shown
  end;
end;

You must we aware which this code will be prevent the execution of the clipboard operations over the control.

Update

I Update the code to allow the Tab(#9) and Back space(#8) chars.

心欲静而疯不止 2024-12-04 04:39:31

查看 VCL 源代码,看起来该消息是由 Windows 生成的,而不是由 Delphi 生成的。也就是说,VCL 仅包装了 Windows 中存在的功能。所以看来修改这条消息并不容易。

Looking at the VCL source, it looks like that message is generated by windows, rather than by Delphi. That is, the VCL is only wrapping the functionality that exists in windows. So it doesn't appear that it would be easy to modify the message.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文