Fórum Show #194156

11/11/2003

0

Preciso exibir um pequeno form (tipo caixa de diálogo) quando o form for exibido. Chamei o método FormModal para este pequeno form no evento OnShow do form maior. O problema é que este form menor está abrindo antes do form maior. Como faço para que primeiro abra o form maior e depois o menor?


Raserafim

Raserafim

Responder

Posts

11/11/2003

Delphistar

ao inves de usar o evento OnShow use o OnActivate


Responder

Gostei + 0

11/11/2003

Nigro

O problema de você fazzer algum código no on activate é que esse evento é disparado toda vez que um componente contido nesse form recebe o foco para fazer o teste coloque vários edit no form e no evento onactivate desse form coloque um showmessage qualauqer, mas vamos a sua dúvida.
Veja a ordem em autocreate dos forms, coloque o form maior criado antes do form menor


Responder

Gostei + 0

11/11/2003

Beppe

O OnShow deveria se chamar BeforeShow, já que ele é disparado antes de realmente mostrar o form. Chamando ShowModal passa o processamento ao outro form, sem dar chance do form principal se mostrar. Mas há 3 saídas:

1) Usar Show ao invés de ShowModal;
2) Ativar um timer que no seu OnTimer se auto-desativa e exibe o form. Em alguns sistemas(lentos) isto pode não ser conveniente.
3) Manter uma variável(JaAtivou) inicializada como False e usar o OnActivate. Neste evento, se JaAtivou é False, então mostre o diálogo e sete JaAtivou para True.


Responder

Gostei + 0

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

Aceitar