当前位置:  开发笔记 > 编程语言 > 正文

Delphi 2009 OnKeyDown不像Delphi 2007那样陷阱

如何解决《Delphi2009OnKeyDown不像Delphi2007那样陷阱》经验,为你挑选了1个好方法。

我有这个代码

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
begin
  if not (Key in [Ord('0')..Ord('9')]) then
    Key := 0;
end;

并且它与Delphi 2007一起工作正常.当我升级到Delphi 2009并且我尝试按任何字母时它被接受并且Key:= 0不会捕获输入?

有人遇到过同样的行为吗?



1> Andreas Haus..:

你确定这在Delphi 2007中有效吗?我刚刚尝试了Delphi 2007和2009中的代码.两者的行为相同(没有吃掉键击)如果你只想接受数字,你应该使用OnKeyPress事件并将Key参数设置为#0.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有