请问在单击窗口右上角的关闭按钮时,如何使窗口最小化而不是真正的关闭,在我单击我自定义的菜单上的退出键时才真正关闭!

解决方案 »

  1.   

    用MDI窗口什么都不用写就是这个效果!
      

  2.   

    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      CanClose := False;
    //方法一  主程序而言
      Application.Minimize;
    //方法二  本窗口而言
      WindowState := wsMinimized
    end;
      

  3.   

    private
      Procedure WMSysCommand(Var msg : TMessage);Message WM_SYSCOMMAND;procedure Tform1.WMSysCommand(var msg: TMessage);
    begin
      case Msg.WParam of
        SC_CLOSE    :begin
                       msg.WParam :=SC_MINIMIZE;
                     end;
      end;
      Inherited;
    end;
      

  4.   

    在form的onclose事件中
     
      action:=caMinimiz;就ok了。
      

  5.   

    设两个窗口,project中最先创建的那个窗口中写入事件将第二个窗口激活,把第二个窗口作为你要“最小化”的窗口,在它的关闭事件中将第一个窗口激活即可。
      

  6.   

    procedure TForm1.WMSysCommand(var Msg: TMessage);
    begin
      Case Msg.WParam of
      SC_CLOSE  : begin
                    Msg.WParam := SC_MINIMIZE;
                  end;
      end;
      inherited;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Close;
    end;