我有一个主窗体,六个子窗体,用六个button使指定的子窗体显示在最前,但是我每点击一个按钮,所有的子窗体都变成不是最大化了,为什么?procedure TMainF.ChoseBtnClick(Sender: TObject);
begin
  case (Sender as TSpeedButton).Tag of
    0: begin AF.BringToFront; end;
    1: begin BF.BringToFront; end;
    2: begin CF.BringToFront; end;
    3: begin DF.BringToFront; end;
    4: begin EF.BringToFront; end;
    5: begin FF.BringToFront; end;
  end;
end;我的子窗体本来都是最大化的!

解决方案 »

  1.   

    设置form的windowstate fromstyle 和borderstyle属性
      

  2.   

    ...
    0: begin AF.BringToFront; AF.WindowState := wsMaximized; end;
    ...
    这样写是能够解决,但是太慢了,还有什么好的办法啊!
      

  3.   

    try
        Screen.Cursor := crSQLWait;
        if not Assigned(FM) then
        begin
          FM:= TFM.Create(Application);
        end;
        if not FM.Active then
        begin
          FM.Show;
        end;
        FM.WindowState :=wsMaximized;
      finally
        Screen.Cursor := crDefault;
      end;
      

  4.   

    还有可以用ActionList组件,添加一个标准的Action 里面你选择Window
    然后在主窗体的windowmenu设置一下。就可以实现很多的功能,无需写任何代码。
      

  5.   

    了解 可能是BringToFront原因
    BringToFront是将窗体窗口放在Windows Desktop上其他窗口的前面
      

  6.   

    是将主窗体窗口放在Windows Desktop上其他窗口的前面