if (key<>chr(VK_BACK))and(key not in ('0'..'9')) then key:=#0;

解决方案 »

  1.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      case Key of
       '0'..'9', #8: ;
      else Key := #0;
      end;
    end;
      

  2.   

    发信人: btbrave (彩旗飘飘), 信区: Delphi 
    标  题: Re: 如何屏蔽掉非数字键输入? 
    发信站: BBS 水木清华站 (Sat Jan  5 15:32:06 2002) 
      
    往编辑框中输入内容有以下几种方法: 
    1.键盘直接输入 
    2.拷贝,粘贴的方式 
    3.鼠标输入 
    看了大家的做法,只能控制第一种方式,如果要三种方式都控制,必须要在 
    edit1.onchange事件中,一个字符一个字符的判断,挺麻烦的. 
    好了,都把大家说糊涂了,其实一个简单的方法,可以试一试: 
    SetWindowLong(Edit1.Handle, GWL_STYLE,GetWindowLong(Edit1.Handle, GWL_STYLE) 
    or ES_NUMBER); 
      
      

  3.   

    #8 = Chr(8)
    #0 = Chr(0)
    #$FF = Chr($FF) = Chr(255)