Show
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
Curtidas 0
Respostas
Delphistar
11/11/2003
ao inves de usar o evento OnShow use o OnActivate
GOSTEI 0
Nigro
11/11/2003
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
Veja a ordem em autocreate dos forms, coloque o form maior criado antes do form menor
GOSTEI 0
Beppe
11/11/2003
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.
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.
GOSTEI 0