Fórum ainda com dúvidas no MDIchild quanto ao fechalas! #420820
31/07/2012
0
Além disso Se a instância do formulário já existir ele dá uma advertência (Formulário aberto)
O que ocorre é que ao abrir o formulário a panel some, mas ao fechar todos os forms(instancias) ele não reaparece.
E também está dando problemas na comparação se a instancia do formulário já está aberta.
segue o código
A função foi extraída do site [url]http://www.planetadelphi.com.br/dica/7554/-como-saber-se-um-formulario-do-tipo-mdichild-ja-esta-criado.-[/url]
Formulário principal (FrmMenu)
var
FrmMenu: TFrmMenu;
Result: Boolean;
function IsChildFormExist(InstanceClass: TFormClass): Boolean;
implementation
uses UClientes;
{$R *.dfm}
function IsChildFormExist(InstanceClass: TFormClass): Boolean;
var
I : Integer;
begin
with (Application.MainForm) do
for I := 0 to MDIChildCount - 1 do
if (MDIChildren[i] is InstanceClass) then
begin
Result:= True;
Exit;
end;
Result := False;
end;
------------------------------------
Evento ao clicar no botão para abrir o formulário de clientes
procedure TFrmMenu.BitBtn1Click(Sender: TObject);
begin
if IsChildFormExist(TFrmClientes) = true then
if MessageDlg(Quer abrir o formulário assim mesmo?,MtConfirmation,
[MbOk,MbCancel],0)= 1 then
begin
FrmMenu.Panel2.Hide;
FrmClientes := TFrmClientes.Create(Self);
Cascade;
end
else
exit
else
begin
FrmMenu.Panel2.Dide;
FrmClientes := TFrmClientes.Create(Self);
Cascade;
end;
end;
------------------------------------
Evento on close no form aberto
FrmClientes := nil;
Action := caFree;
if IsChildFormExist(TFrmClientes) = false then
FrmMenu.Panel2.show
Carlos
Curtir tópico
+ 0Posts
31/07/2012
Cauê Nishijima
Você tem um Form pai, nele há um Panel com botões pra chamar os Form filhos, e quando você chamar algum Form filho, você quer que este Panel do Form pai fique oculto, e quando fechar ele reapareça...É isso?
Att.
Cauê Nishijima
Gostei + 0
31/07/2012
Carlos
Gostei + 0
31/07/2012
Cauê Nishijima
Gostei + 0
31/07/2012
Carlos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)