edit没有属性可以设置只能输入数字吗?vc都有的阿。

解决方案 »

  1.   

    没有的,但可以通过以下过程实现:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not(key in ['0'..'9',#8]) then key:=#0;
    end;
      

  2.   

    没有的,可以考虑用MaskEdit或自己在OnKeyPress内写代码来控制
      

  3.   

    KEY:=#0 也就是将KEY置为空值
      

  4.   

    #0是ASCII码,类似的有#9,#10,#13等等,自己去查ASCII码表。
      

  5.   

    来晚了,被人抢先了!
    就是ourlin说的方法!
      

  6.   

    没有的,但可以通过以下过程实现:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not(key in ['0'..'9',#8]) then key:=#0;
    end;

    这时正解
      

  7.   

    来晚了,补充一下
    procedure TFrmSchSet.Edit_LmtKeyPress(Sender: TObject; var Key: Char);
    begin
     if not (Key in ['0'..'9',char(VK_BACK),char(VK_DELETE)] ) then Key:=#0;
    end;是相应keypress事件的函数,可以输入0到9,也可以退格和删除。
      

  8.   

    最好在if not(key in ['0'..'9',#8,#13]) then key:=#0;再加上Key:=#13的判断,这样的话,也能处理回车了
      

  9.   

    楼上说的方法不能响应CTRL+V了!!
      

  10.   

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

  11.   

    procedure TFrmSchSet.Edit_LmtKeyPress(Sender: TObject; var Key: Char);
    begin
     if not (Key in ['0'..'9',char(VK_BACK),char(VK_DELETE)] ) then Key:=#0;
    end;就用这个方法比较好了.
      

  12.   

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

  13.   

    D7下的只能输入数字的控件(类似PB的MaskEdit)
    http://blog.csdn.net/comerliang/archive/2006/01/13/577879.aspx