请教:
怎么使 edit 中不能输入汉字啊?
谢谢!

解决方案 »

  1.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if ord(Key)>160 then key:=#0;
    end;
      

  2.   

    钩子程序procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    var
      strtmp : String;
      i : Integer;
    begin
      strtmp := edit1.Text;
      for i :=0 to length(strtmp) do
      if ByteType(strtmp,i)<>mbSingleByte then
      begin
        showmessage('请不要输入汉字!');
        edit1.Text :='';
        edit1.SetFocus;
        break;
      end;
      

  3.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    var
      strtmp : String;
      i : Integer;
    begin
      strtmp := edit1.Text;
      for i :=0 to length(strtmp) do
      if ByteType(strtmp,i)<>mbSingleByte then
      begin
        showmessage('请不要输入汉字!');
        edit1.Text :='';
        edit1.SetFocus;
        break;
      end;
      

  4.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    if ord(Key)>128 then
    begin
     key:=#0;
     showmessage('Invaild words!');
    end;
    end;
      

  5.   

    将edit的只读属性(ReadOnly)设成true就行了
      你什么时候想输入了
            就用代码(edit1.ReadOnly:=false;)将只读属性去掉就又可以写入了
      

  6.   

    只许输入数字的方法楼主应该是知道的吧,思路相同
    判断是不是汉字使用下面这个函数:
     IsDBCSLeadByte函数
      

  7.   

    if ord(Key)>160 then key:=#0;