我在主窗口中执行
form2.showmodal;
然后要求用户点击form2的最小化按钮,使得主窗口也最小化?
小弟只有这么多分了

解决方案 »

  1.   

    type
      TLogin = class(TForm)
        Button1: TButton;
      private
        { Private declarations }
      public
        procedure OnMiniMize(var msg:TMessage);message WM_SYSCOMMAND;
      end;
      if LOWORD(msg.WParam)=SC_MINIMIZE then
        PostMessage(Main.Handle,WM_SYSCOMMAND,Longint(SC_MINIMIZE) ,0);
      inherited;
      

  2.   

    procedure TLogin.OnMiniMize(var msg: TMessage);
    begin
      if LOWORD(msg.WParam)=SC_MINIMIZE then
        PostMessage(Main.Handle,WM_SYSCOMMAND,Longint(SC_MINIMIZE) ,0);
      inherited;
    end;
      

  3.   

    procedure TLogin.OnMiniMize(var msg: TMessage);
    begin
      if LOWORD(msg.WParam)=SC_MINIMIZE then
        PostMessage(Application.MainForm.Handle,WM_SYSCOMMAND,msg.WParam,msg.LParam);
      inherited;
    end;
      

  4.   

    最小化是做到了,可是还原时,主窗口显示但不响应,login仍然最小化且在主窗口后面,这怎么办呢?
      

  5.   

    那你就放过来了,在主窗体上也写一个!
    procedure OnMaxiMize(var msg:TMessage);message WM_SYSCOMMAND;procedure TMain.OnMaxiMize(var msg: TMessage);
    begin
      if LOWORD(msg.WParam)=SC_MAXIMIZE then
        PostMessage(form2.Handle,WM_SYSCOMMAND,msg.WParam,msg.LParam);
      inherited;
    end;
      

  6.   

    我这边试过是没问题,
    这个是放在主窗体的!
    procedure OnMaxiMize(var msg:TMessage);message WM_SYSCOMMAND;procedure TMain.OnMaxiMize(var msg: TMessage);
    begin
      if LOWORD(msg.WParam)=SC_MAXIMIZE then
        PostMessage(form2.Handle,WM_SYSCOMMAND,msg.WParam,msg.LParam);
      inherited;
    end;
      

  7.   

    不是最大化窗口,只是还原,该用SC_MAXIMIZE 吗