在Edit的键盘事件中控制或改用TMaskEdit

解决方案 »

  1.   

    在OnKeyXXX中携带马就可以了啊。
      

  2.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
        if not (key  in ['0'..'9']) then begin
            key := #15;
        end;end;
      

  3.   

    agree  powerlee(老李飞刀) 
      

  4.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
        if not (key  in ['0'..'9']) then 
           Key:=#0;
    end;
      

  5.   

    最完美的解决这个问题的代码:)如下:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    if ord(Key)=8 then begin
       exit;
    end;if (editCustId.SelLength = 8)
       and ((ord(Key)>=48) and (ord(Key)<=57) or (ord(Key)=8) or (ord(Key)=36) or (ord(Key)=35) or (ord(Key)=38) or (ord(Key)=40) or (ord(Key)=37) or (ord(Key)=39)) then
    begin
       exit;
    end;
      

  6.   

    改一下控件名,呵呵procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    if ord(Key)=8 then begin
      exit;
    end;//以下同时设置了文本框的长度不能超过8
    if (Edit1.SelLength = 8) 
      and ((ord(Key)>=48) and (ord(Key)<=57) or (ord(Key)=8) or (ord(Key)=36) or (ord(Key)=35) or (ord(Key)=38) or (ord(Key)=40) or (ord(Key)=37) or (ord(Key)=39)) then
    begin
      exit;
    end;