Form2 sobre o Form1

05/01/2006

Form1 -> Principal
Form2 -> Login

Preciso exibir a tela de login(Form2) sobre a tela principal(Form1) ao abrir a aplicação.

Abraços


Redoctober

Respostas

06/01/2006

Eixox

no evento onShow do form 1 faça:

Form1.Enable := False;
Form2 := TForm2.Create(Self);
Form2.ShowModal;

lá no form2 você não pode esquecer de fazer que quando o login seja realizado com sucesso ele habilite novamente o Form1. Senão sai do sistema após determinado número de vezes.


Responder Citar

06/01/2006

Redoctober

Nao deu certo:

Erro:
---
[b:db755cbcf7]
Cannot make a visible window modal
[/b:db755cbcf7]
---

Então tentei abrir somente com modal, como descrevo abaixo:

Aterado:
---
[b:db755cbcf7]
Form1.Enabled := false;
Form2 := TForm2.Create(Self);
Form2.ShowModal;
[/b:db755cbcf7]
---

Sendo com o codigo acima, o form1 ficou em cima do form2. Ou seja, totalmente ao contrário do esperado.

Espero que ajudem.

Abraços.


Responder Citar

06/01/2006

Caninha51

o código do eixox funcionou perfeitamente aki.
Porém naum vejo a necessidade de desabilitar e habilitar o form1, já q está se usando um modal.


Responder Citar

06/01/2006

Eixox

Não esqueça de que o form2 deve ser passado para o lado direito em PROJECT > OPTIONS - Aba FORMS

Form2 := TForm2.Create(Self);
Form2.ShowModal;
[b:2f2481bc34]Form2.Update;[/b:2f2481bc34]

E ai respondendo a questão colocada pelo amigo Caninha 51, eu desabilito o form só por garantia de que o cara não arranje um jeito de fechar a janela de login e acessar o sistema. Assim o form1 fica desabilitado e só se torna habilitado quando o login é realizado com sucesso.


Responder Citar