我用一个form1 show出一个form2,但form1最小化之后,form2也跟着最小化了,我不想让form2最小化,要怎么做呢?请教各位大虾,谢拉~~呵呵~~

解决方案 »

  1.   

    type
      TForm1 = class(TForm)
        Button2: TButton;
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        procedure WMSysCommand(var Msg: TMessage); message WM_SYSCOMMAND;
      end;var
      Form1: TForm1;implementationuses Unit2;{$R *.dfm}
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      Unit2.Form2.Show;
    end;procedure TForm1.WMSysCommand(var Msg: TMessage);
    begin
    //
      case Msg.WParam of
        SC_MINIMIZE:
          begin
            showmessage('Min');
            form2.Show;
            //inherited;
          end;
      else
        inherited;
      end;
    end;end.
      

  2.   

    form1是不是主窗口?如果是,好像不可能
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Buttons, HsCtrls;type
      TForm1 = class(TForm)
        HsBitBtn1: THsBitBtn;
        procedure HsBitBtn1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        procedure OnMinimize(Sender : TObject);
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation
    uses unit2;{$R *.DFM}procedure TForm1.HsBitBtn1Click(Sender: TObject);
    begin
      if form2 <> nil then form2 := Tform2.Create(Application);
      form2.Show;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Application.OnMinimize := OnMinimize;
    end;procedure TForm1.OnMinimize(Sender: TObject);
    begin
      ShowWindow(form2.Handle, SW_Show);
    end;end.