例如彩蛋那样的捕捉键盘的录入ALT + ABC在按下ALT键并顺序按下A、B、C键后,触发事件。如何实现?如何判断这样的键盘录入(或者是“热键”?)

解决方案 »

  1.   

    只做过ALT+任何一个键的,没做过加3个键的,抽空试试。
      

  2.   

    做一个键的,按下之后就拦截alt松开的消息.....如果松开就取消
    具体的判断写写挺繁的
      

  3.   

    很简单,用一个数组即可,4行代码
    http://kingron.delphibbs.com 在编程技术里面可以找到:判断一个按键序列
      

  4.   

    使用消息可以处理此问题。procedure GetMessave(var Msg: TMsg; var Handled: Boolean);
    begin
      if Msg.message  =WM_KeyDown then
      begin
        if (Form10103.Active=False)and(Form10102.Active=True) then
        begin
          if Msg.wParam=114 then
            BitBtn1.Click;
          if Msg.wParam=115 then
          begin
            if Self.Showing then
              if (StringGrid2.RowCount>2)and(StringGrid2.Col=4)and(StringGrid2.Row>1) then
               StringGrid2.Cells[StringGrid2.Col,StringGrid2.Row]:=StringGrid2.Cells[StringGrid2.Col,StringGrid2.Row-1];
          end;
        end;
      end;
    end;