procedure TmainForm.Wmhotkeyhandle
(var msg:Tmessage);begin
  //判断是否是ctrl+R
 if (msg.LParamHi=$52) and
    (msg.lparamLo=MOD_CONTROL) then
 begin
   msg.Result:=1;  //正常返回
   //隐藏窗体.
  mainform.Hide;
   end;如上我代码,按下ctrl+r 后会隐藏窗体,如何再次按下显示. 麻烦给出简单代码.
如通过先判断form是否隐藏来对应显示显示等.达到效果就行.

解决方案 »

  1.   

    你可以用一个变量,比如初始化用
    procedure TmainForm.Wmhotkeyhandle
    (var msg:Tmessage);
    var i:ingeger;
    begin
      
         //判断是否是ctrl+R
     if (msg.LParamHi=$52) and (msg.lparamLo=MOD_CONTROL) then
        if (i=0) then
         begin
           i:=1; 
           msg.Result:=1;  //正常返回
            //隐藏窗体.
           mainform.Hide;
       
         end
    else 
        begin 
        mainform.show;
        i:=0
        end;
    end;