我使用RzTrayIcon来实现最小化
他的popmenu里面
有三个菜单
一个打开主窗体
click事件为:
MainForm.Hide;
MainForm.Show;
一个隐藏
click事件:
MainForm.Hide;
还有一个是退出我在MainForm的create里面写了
EnableMenuItem(GetSystemMenu(Handle,False),SC_CLOSE,MF_GRAYED);//让主窗体的关闭失效
运行后出现这种问题:
第一次点击隐藏后MainForm的最小化功能能隐藏到托盘中
然后再右键单击托盘的popmenu的‘打开’后
主窗体的最小化功能失效
这是怎么回事啊
帮帮我

解决方案 »

  1.   

    把让关闭按钮变灰的那句代码去掉。以主窗体是Form1为例,在OnCloseQuery里写代码:procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      Self.Hide;//要隐藏加这句
      CanClose := False;
    end;
      

  2.   

    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); 
    begin 
      Hide ;
      CanClose := False; 
    end;或者:    procedure myclose(Var Message:TMessage); Message WM_SYSCOMMAND;procedure TfrmDataTransfer.myclose(var Message: TMessage);
    begin
      case message.Msg of
      WM_SYSCOMMAND :
      begin
        Self.WindowState :=  wsMinimized;
        hide;
        exit;
      end else inherited;
      end;end; 
      

  3.   

    form有个close 方法属性的
    具体什么名字忘记了,明天帮你看看,你把他设置为ture 或者false就可以实现点击关闭按钮,窗体关闭或者不关闭