Fórum Estou apanhando com FormMDI #256596
29/10/2004
0
Problema com FormMDI
Como faço para criar um form mdi, digamos tenho dois form
form1 (principal) e form2 (cadastro)
como faço para iniciar o programa mas abrir somente o form1 e
abrir o form2 somente quando clico no botão, e como faço para fechar
o form2?
Como faço para criar um form mdi, digamos tenho dois form
form1 (principal) e form2 (cadastro)
como faço para iniciar o programa mas abrir somente o form1 e
abrir o form2 somente quando clico no botão, e como faço para fechar
o form2?
Luiz_aquino
Curtir tópico
+ 0
Responder
Posts
29/10/2004
Shikota
Form Principal - no Object Inspector, na opção FormStyle, coloque fsMDI Form.
Form Cadastro - no Object Inspector, na opção FormStyle, coloque fsMDI Child.
Em Project - Options - Forms - Coloque o Form Cadastro em Available Forms.
No evento onClick do Botão, coloque a seguinte linha de código.
Application.CreateForm (TFCadastro, FCadastro);
No Evento onClose do FormCadastro, coloque a seguinte linha de Código.
Release;
Espero ter Ajudado
Form Cadastro - no Object Inspector, na opção FormStyle, coloque fsMDI Child.
Em Project - Options - Forms - Coloque o Form Cadastro em Available Forms.
No evento onClick do Botão, coloque a seguinte linha de código.
Application.CreateForm (TFCadastro, FCadastro);
No Evento onClose do FormCadastro, coloque a seguinte linha de Código.
Release;
Espero ter Ajudado
Responder
Gostei + 0
01/11/2004
Godzilla_xf
[b:187e8269b9]Olá quando vc cria forms MDI deve fazer uma verificação para ver se o form ainda esta na memória ou não.
1. Primeiro Coloque os forms para serem criados manualmente via chamadas de código.
2. Depois faça o seguinte:
if NomeDoForm = nil then
NomeDoForm := tNomeDoForm.Create(application)
else
with NomeDoForm do
begin
WindowState := wsnormal;
BringToFront;
Focused;
end;
3. No Evento OnClose do Form Filho coloque:
Action := caFree;
NomDoForm := nil;
Action := caFree Libera o Form da memória.
NomeDoForm := nil remove o endereço do form da memória permitindo assim a que seje criado varias vezes sem que gere erros.[/b:187e8269b9]
Espero ter ajudado...
1. Primeiro Coloque os forms para serem criados manualmente via chamadas de código.
2. Depois faça o seguinte:
if NomeDoForm = nil then
NomeDoForm := tNomeDoForm.Create(application)
else
with NomeDoForm do
begin
WindowState := wsnormal;
BringToFront;
Focused;
end;
3. No Evento OnClose do Form Filho coloque:
Action := caFree;
NomDoForm := nil;
Action := caFree Libera o Form da memória.
NomeDoForm := nil remove o endereço do form da memória permitindo assim a que seje criado varias vezes sem que gere erros.[/b:187e8269b9]
Espero ter ajudado...
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)