Form2 sobre o Form1

Delphi

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

Redoctober

Curtidas 0

Respostas

Eixox

Eixox

05/01/2006

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.


GOSTEI 0
Redoctober

Redoctober

05/01/2006

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.


GOSTEI 0
Caninha51

Caninha51

05/01/2006

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.


GOSTEI 0
Eixox

Eixox

05/01/2006

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.


GOSTEI 0
POSTAR