如何使TEdit只能输入数字(30分)

  • 主题发起人 主题发起人 Zythum
  • 开始时间 开始时间

procedure Tfm_xdjc_khgl.DBEdit31KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#13,#46]) then key:=#0 ;
end;
//#8,#13,#46 代表 Backspace,delete
 
  自己找到TEdit的源代码,按照上面大虾的方法修改keypress事件,换名另存为组件,就可以了
 
这些我都做成函数了,放在OnChang和OnExit中判断,如果谁想要的话给我来个Mail
Wolf_child@263.net
 
我同意各位用OnKeyPress的大虾,我来的太晚了!
要屏蔽非数字,只要在事件里判断Key的值,不合格者,Key:=0;这样
刚才的键击就无效了!
用这种方法,可以输入你想要的字符范围,如电话:0000-1234567,等等!
不过你的30大分真的不好分配,那么多的正确答案!可能比你的这个问题还要头痛!呵呵
 
给一行解决者

时间太久,强制结束。 wjiachun
 
后退
顶部