Fórum Socorro... Formulários, Delphi #221985

24/03/2004

0

Gente estou criando um sistema (novidade)...

Nele eu coloquei um formulário que servirá de base (formulário principal) e nele vai abrir os outros forms de cadastros, relatórios... etc...

Aí eu testei o sistema, abrindo a janela de cadastro, TUDO CERTO, aí eu fiz um teste... deixei a janela de cadastro aberta e cliquei na janela princial do programa e a janela cadastro foi jogada em segundo plano com a janela princial sobre a janela de cadastro...

Como eu faço pra janela de cadastro continuar aparecendo na frente da janela principal, mesmo se eu clicar na janela principal???

Tem algo haver com o tal MDIForm e MDIChild????

Se tem tudo haver... ocorreu um problema... eu defini a janela principal como MDIForm e a janela cadastro como MDIChild... só que quando eu executo o programa a janela cadastro já aparece aberta... e eu não consigo fechá-la...

o que fazer???? :?:


Galdino Vilela

Galdino Vilela

Responder

Posts

24/03/2004

Jc_analista

Define a janela que ficará na frente como formstyle=fsStayonTop


Responder

Gostei + 0

24/03/2004

Vanius

Boa tarde.

As janelas fsMdiChild NAO devem ser criadas automaticamente. Se criadas, elas aparecem automaticamente.
Elas devem ser criadas na hora de serem executadas.
Outro macete pra os Childs é q como eles não podem ser utilizados como ShowModal e sim como Show, elas devem ser ´fechadas´ no evento OnClose utilizando Action := caFree e depois o Release.

Antigamente usavamos
application.CreateForm(TForm1, Form1);
Form1.Show;
Form1.Free;

Com os Childs isto nao funcionará.
Vc deve utilizar
botao.Enabled := False;
application.CreateForm(TForm1, Form1);
Form1.Show;

e no onClose do form1 usar
FormPrincipal.Botao.Enabled := True;
Action := caFree;
Release;

Acho q so isto ira te ajudar...
Qualquer dúvida é so enviar msg.

[]s


Vanius


Responder

Gostei + 0

25/03/2004

Galdino Vilela

Valeu...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar