请问各位大侠,如何拦截编辑框 的按键消息,帮帮忙了,第一个回答完整的,分全给。先谢了

解决方案 »

  1.   

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

  2.   

    postmessage(edit1.handle,wm_keydown,0,0);
      

  3.   

    不在KEYPDOWN事件里写怎么做,
      

  4.   

    在KEYPRESSGK件里 我拦不到方向键,所以我想自己写消息 函数
      

  5.   

    在keydown事件中可以拦到方向键
      

  6.   

    可以的,你试试看:
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
        if (key=38)or(key=37)or(key(key39)or(key=40) then
         showmessage('dfsdf');
    end;
    其中key的值38代表up,40代表down,37代表left,39代表right.顺便借你这里问个问题,我怎么查我的专家分呀???
      

  7.   

    键盘上每个键的具体键值测试方法:
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;  
    Shift: ShiftState);
    begin
      form1.Caption := inttostr(key);
    end;
      

  8.   

    编辑框的KeyDown事件只是拦截不到 Tab键。
      

  9.   

    安装一个键盘钩子,拦截来自指定Edit的WM_KEYDOWN消息