我想实现 像qq那样 按下ctrl+Enter键就发送一个东西
怎么做?如何判断按下这两个键

解决方案 »

  1.   

    在键盘按下事件中写代码:if key="" and key="" then 就行了
      

  2.   

    if key=13 and key= then 就行了 13代表回车,CTRL自己去查吧
      

  3.   

    procedure TForm1.ProcessMsg(var Msg: TMsg; var Handled: Boolean);
    begin
      with Msg do
      begin
        if Message=WM_KEYDOWN then
          showmessage('a');
      end;
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Application.OnMessage := ProcessMsg;
    end;      if Msg.wParam=17 then
            按下得是ctrl  代码自己组织一下
      

  4.   

    if key=13 and key=16 then 
    BEGIN
       发送消息;
    END;
    16就是SHIFT
      

  5.   

    我这样做了 但是不行 ProcessMsg 这个函数没有被触发
    我想问 这个函数怎么声明的 会不会试我声明错了
      

  6.   

    procedure TForm1.ProcessMsg(var Msg: TMsg; var Handled: Boolean);
    begin
      with Msg do
      begin
        if Message=WM_KEYDOWN then
          showmessage('a');
      end;
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Application.OnMessage := ProcessMsg;
    end;      if Msg.wParam=17 then
            按下得是ctrl  代码自己组织一下
      

  7.   

    放一个TActionList,新建一个Action设置ShortCut=Ctrl+Enter
    (列表中没有,自己敲上去)
    然后在Action的OnExecute中写上自己的代码就行了
      

  8.   

    先将窗体的KEYPREVIEW设为TRUE
    然后在窗体的KEYDOWN事件下写如下代码:
    if (Key=VK_RETURN) and (Key=VK_CONTROL) then
      MessageBox(handle,'you press Ctrl+Enter key.','Hello',0);