Escondendo formulário
Talvez seja uma dúvida grotesca, mas não estou conseguindo.
Estou criando um form1 (create) dentro de outro form2.
Num botton do form2 abro o form1 (show).
Após usar o form1 como esconde-lo e deixar ativo o form2? Não quero fechá-lo não, quero apenas escondê-lo.
Grato.
Estou criando um form1 (create) dentro de outro form2.
Num botton do form2 abro o form1 (show).
Após usar o form1 como esconde-lo e deixar ativo o form2? Não quero fechá-lo não, quero apenas escondê-lo.
Grato.
Crpavao
Curtidas 0
Respostas
Marco Salles
15/03/2007
para escondelo , acho que poderia usar o Hide ou a propriedade Visible
para cria-lo
e no onclose do form1
Acho que dá
form1.hide;
para cria-lo
if form1 = nil Then
form1:=Tform1.Create(form2);
form1.Show
e no onclose do form1
Action:=Cafree;
Form1:=nil;
Acho que dá
GOSTEI 0
Crpavao
15/03/2007
Valeu a sua força, mas isto tudo já tentei.
Se dou form1.hide, quando quero mostrá-lo novamente uso form1.show, aí dá erro.
Se dou form1.hide, quando quero mostrá-lo novamente uso form1.show, aí dá erro.
GOSTEI 0
Marco Salles
15/03/2007
Valeu a sua força, mas isto tudo já tentei.
Se dou form1.hide, quando quero mostrá-lo novamente uso form1.show, aí dá erro.
[b:21f66556d8]Aqui funcionou..[/b:21f66556d8]
:arrow: Tente Visibel :=False
Se persitir o erro , seria interresante ver seu codigo de criação desse formulários
GOSTEI 0
Crpavao
15/03/2007
Caro amigo,
Obrigado pela ajuda.
É o seguinte:
Crio o Form1 (form2.Create).
Num botton dou form1.show;
No Form1, qdo ´fecho´, faço form1.hide (ou form1.visible := False)
Até ai tudo bem.
Qdo clico novamente no botton do form2 dando um form1.show aí aparece a merda do erro:
Cannot Change Visible in OnShow or onHide.
Obrigado pela ajuda.
É o seguinte:
Crio o Form1 (form2.Create).
Num botton dou form1.show;
No Form1, qdo ´fecho´, faço form1.hide (ou form1.visible := False)
Até ai tudo bem.
Qdo clico novamente no botton do form2 dando um form1.show aí aparece a merda do erro:
Cannot Change Visible in OnShow or onHide.
GOSTEI 0
Marco Salles
15/03/2007
Caro amigo,
Obrigado pela ajuda.
É o seguinte:
Num botton dou form1.show;
No Form1, qdo ´fecho´, faço form1.hide (ou form1.visible := False)
Até ai tudo bem.
Qdo clico novamente no botton do form2 dando um form1.show aí aparece a merda do erro:
Cannot Change Visible in OnShow or onHide.
Crio o Form1 (form2.Create).
no
crie assim:
if Form1 = Nil then
Form1:=Tfor1.create(form2);
Form1.show;
[b]P:S não tem Begin end o Form1.Show esta swozinho mesmo
Nao esqueça no Form Close do Form1 digite:
Action:=Cafree;
Form1:=nil
GOSTEI 0
Crpavao
15/03/2007
Sei que assim funciona, mas não quero fechar o form1, só quero esconde-lo.
Se der Action := Cafree, então esterei fechando o form1, o que não quero.
Se der Action := Cafree, então esterei fechando o form1, o que não quero.
GOSTEI 0
Marco Salles
15/03/2007
Sei que assim funciona, mas não quero fechar o form1, só quero esconde-lo.
Se der Action := Cafree, então esterei fechando o form1, o que não quero.
No amigo... Não disse patra voce fechar o Formulário
O que eu disse é que [u:71bfdbf70f][b:71bfdbf70f]quando[/b:71bfdbf70f][/u:71bfdbf70f] voce for fechar o Formulário colocar estas
instruçoes no Evento Onclose
Mas para esconder voce deve usar o Hide ou o Visible
Para cria-los:
if Form1 = Nil then
Form1:=Tfor1.create(form2);
Form1.show;
para Esconde-los
Form1.hide;
Quando for Fecha-los:
Action:=Cafree;
Form1:=nil
Coloque assim ... Não é possível que dê erros...
GOSTEI 0
Emerson Nascimento
15/03/2007
pela mensagem exibida, você está tentando exibir/esconder a partir dos métodos OnShow ou OnHide, o que não é permitido.
GOSTEI 0
Crpavao
15/03/2007
Senhores, agradeço e muito a força de vcs.
Mas a solução que encontrei foi a seguinte:
Bom, qual era o meu objetivo:
Qdo abrir o form2 criar um form1 e mante-lo escondido até qdo for utiliza-lo. Depois de utiliza-lo fecha-lo, mas sem tirá-lo da memoria. Pode ser que precise abri-lo novamente, através do form2.
No ONCREATE do form2
Form1 := TForm1.Create(Form2);
Form1.Hide;
Botton do from2
Form1.Show;
Saida do Form1
Close;
Observação: Qdo eu fechar o form2 (usando Action := CaFree) o Form1 também é fechado automaticamente.
É isto.
Obrigado, turma, mais uma vez.
Mas a solução que encontrei foi a seguinte:
Bom, qual era o meu objetivo:
Qdo abrir o form2 criar um form1 e mante-lo escondido até qdo for utiliza-lo. Depois de utiliza-lo fecha-lo, mas sem tirá-lo da memoria. Pode ser que precise abri-lo novamente, através do form2.
No ONCREATE do form2
Form1 := TForm1.Create(Form2);
Form1.Hide;
Botton do from2
Form1.Show;
Saida do Form1
Close;
Observação: Qdo eu fechar o form2 (usando Action := CaFree) o Form1 também é fechado automaticamente.
É isto.
Obrigado, turma, mais uma vez.
GOSTEI 0
Marco Salles
15/03/2007
todos caminho levama Roma
GOSTEI 0
Crpavao
15/03/2007
Mas o Papa gosta mais de um....
GOSTEI 0
Marco Salles
15/03/2007
todos caminho levama Roma
Mas o Papa gosta mais de um....
Deu para perceber.
GOSTEI 0