procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (key<48) or (key>57) then
begin
  .......?
end;
请问如何让上述其它按键不起作用?
谢谢!!

解决方案 »

  1.   

    if (key<48) or (key>57) then
    begin
      .......?
    end
    else
       key=0;
      

  2.   

    .....
    else
      Abort;
      

  3.   

    if (key<48) or (key>57) then
    begin
      .......?
    end
    else
      begin
       key=0;
       messagebeep(1);
      end;
      

  4.   

    key:=0根本就不起作用,还能在输入框中输入值。
      

  5.   

    在OnKeyPress事件中处理。
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if (key<#48) or (key>#57) then
      begin
        .......?
      end
      else
        Key := #0;
    end;
      

  6.   

    先得把窗体的 KeyPreview 设成True,
    然后在窗体的OnKeyPress里把你想不要的键改成0就行了。这样,那个键按了和不按就一样了。
      

  7.   

    if (key<48) or (key>57) then
      key:=key
    else
      key:=#0