请问我在要edit中只输入数字不让输入其他任何字符怎么些代码啊?是不是要写在onkeyup事件里面啊?

解决方案 »

  1.   

    在edit的onkeypress事件里写:  
    if not (Key in ['0'..'9',chr(8),chr(46)]) then
        Key := #0;
      

  2.   

    方法一:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
        begin
          if not (key in ['0'..'9','.',#8]) then
          begin
            key:=#0;
            Messagebeep(0);
          end;
        end;
    方法二:
    SetWindowLong
    (Edit1.Handle, GWL_STYLE,GetWindowLong(Edit1.Handle, GWL_STYLE)or ES_NUMBER);
      

  3.   

    上面的几位已经说的很清楚了!
    你可以做出任何的限制!
    对于非显示字符,
    你要知道ASCII 吗。
    如回车:
     IF KEY = #13 THEN
     BEGIN
       //。 END;
      

  4.   

    在KEYASCII事件中过滤输入的字符不就行了
      

  5.   

    maskedit不可以
    maskedit要规定输入位数
      

  6.   

    flp(会说话的哑巴) 说的好,用异常写!不过我是初学者,我不会,哈,你让他写一段,我也顺便学学。
      

  7.   

    呵呵 我也觉得maskedit效果不是最好