Problemas com retorno em um form maximizado estilo MDI?

18/06/2008

1

Pessoal, tenho um form com a propriedade FormStyle fsMDIChild e com a propriedade WindowsState = wsMaximized e nele tenho um speedbutton para efetuar buscar em outro form (Form de Buscas) com a propriedade FormStyle = fsNormal ele esta no Options(Shift+Ctrl+F11) do Delphi em Available Forms, e deixo ele com a propriedade Visible = False, e chamo neste SpeedButton assim

procedure TfrmCadAssoc.SpeedButton1Click(Sender: TObject);
begin
  inherited;
  dsPadrao.DataSet.Close;
  Application.CreateForm(TfrmPesAssociados, frmPesAssociados);
  try
    if frmPesAssociados.ShowModal = mrOk then
    begin
      if not dsPadrao.DataSet.IsEmpty then
      {:Abre as conexões com as tabelas}
      dm.ConInternetLocal.Open;
      try
        {:Busca a matricula do FrmPesAssociado e joga para os dbEdits deste Form}
          dm.cdsCadAssociado.Close;
          dm.cdsCadAssociado.Params.ParamByName(´pmatricula´).AsString:=
                dm.cdsPesNomeAssociado.fieldbyname(´Matricula´).AsString;
          dm.cdsCadAssociado.Open;
      finally
        dm.ConInternetLocal.Close;
      end;
    end;
  finally
    frmPesAssociados.Release;
    FreeAndNil(frmPesAssociados);//Para Destruir o Form
  end;
end;


Bom pessoal ao chamar o Form Filho que esta com o FormStyle = fsMDIChild sai da posição de WindowsState = wsMaximized e fica tipo Janela, e quando retorno com a pesquisa (Neste caso ai no clique duplo do dbgrid)
procedure TfrmPesAssociados.DBGrid1DblClick(Sender: TObject);
begin
  inherited;
  {:serve para chamar este form em qualquer outro form}
  ModalResult := mrOk;

end;

continua estilo janela e eu não quero assim, queria que ficasse maximizado como esta no começo.

Grato pela ajuda
Adriano


Responder

Posts

Era coisa de programador burro mesmo :oops:

Faltava eu forçar o form como maximizado
[b:4bb056395b]frmCadAssoc.WindowState := wsMaximized;[/b:4bb056395b]

procedure TfrmCadAssoc.SpeedButton1Click(Sender: TObject);
begin
  inherited;
  dsPadrao.DataSet.Close;
  frmCadAssoc.WindowState := wsMaximized;
  Application.CreateForm(TfrmPesAssociados, frmPesAssociados);
  try
    if frmPesAssociados.ShowModal = mrOk then
    begin
      if not dsPadrao.DataSet.IsEmpty then
      {:Abre as conexões com as tabelas}
      dm.ConInternetLocal.Open;
      try
        {:Busca a matricula do FrmPesAssociado e joga para os dbEdits deste Form}
          dm.cdsCadAssociado.Close;
          dm.cdsCadAssociado.Params.ParamByName(´pmatricula´).AsString:=
                dm.cdsPesNomeAssociado.fieldbyname(´Matricula´).AsString;
          dm.cdsCadAssociado.Open;
      finally
        dm.ConInternetLocal.Close;
      end;
    end;
  finally
    frmPesAssociados.Release;
    FreeAndNil(frmPesAssociados);//Para Destruir o Form
    frmCadAssoc.WindowState := wsMaximized;
  end;
end;


Resolvido.


Responder