在Delphi6中能否使一个子窗口显示时永远保持最大化而且置后?
当打开其它子窗口时,它还是最大化?好像实现不了耶.

解决方案 »

  1.   

    设置窗口的 WindowState 属性为 wsMaximized
    应该凑和和吧
    也不知道你想干嘛type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure WMActivate(var Msg: TWMActivate); message WM_ACTIVATE;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.WMActivate(var Msg: TWMActivate);
    begin
      SetWindowPos(Handle,
                   HWND_BOTTOM,
                   0, 0, 0, 0,
                   SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE);
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      hSysMenu: HMENU;
    begin
      hSysMenu := GetSystemMenu(Handle, False);
      DeleteMenu(hSysMenu, SC_RESTORE , MF_BYCOMMAND);
      DeleteMenu(hSysMenu, SC_MOVE    , MF_BYCOMMAND);
      DeleteMenu(hSysMenu, SC_SIZE    , MF_BYCOMMAND);
      DeleteMenu(hSysMenu, SC_MINIMIZE, MF_BYCOMMAND);
      DeleteMenu(hSysMenu, SC_MAXIMIZE, MF_BYCOMMAND);
      DeleteMenu(hSysMenu, 0          , MF_BYCOMMAND);
    end;
      

  2.   

    一、做成MDI窗口,其它打开的子窗口设置成fsMDIChild.这样打开的子窗口就永远不会在主窗口下面.
       二、去掉窗口最大化按钮,去掉系统菜单,然后设置窗口以最大化显示。