Estou apanhando com FormMDI

Delphi

29/10/2004

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?


Luiz_aquino

Luiz_aquino

Curtidas 0

Respostas

Shikota

Shikota

29/10/2004

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


GOSTEI 0
Godzilla_xf

Godzilla_xf

29/10/2004

[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...


GOSTEI 0
POSTAR