在主界面菜单中用小键盘数字键作为快捷键。在从主菜单打开的窗体中也用小键盘数字键作为一些功能的快捷键?但不能影响在输入框输入数字。急。谢谢各位高手能给出好的方案。给分100.

解决方案 »

  1.   

    用TApplicationEvents控件拦截系统WM_KEYDOWN消息
    参考:
    procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
      var Handled: Boolean);
    begin
      if Msg.message=WM_KEYDOWN then
      begin
        //在Edit和Memo下按小键盘时不作处理,你自己可以过滤其它控件
        if not (Self.ActiveControl is TEdit) and
           not (Self.ActiveControl is TMemo) then
        begin
          Case Msg.wParam) of
             96: //小键盘0 ,快捷键要完成的功能在这里写
             97: //小键盘1
             98:
             99:
             100:
             101:
             102:
             103:
             104:
             105://小键盘9
          end;
        end;
      end;
    end;