Aplicacao Mdi - Controle de menu e mdichilds
Cmo faço para desabilitar alguns menus no mdiform quando não houver nenhuma mdichild aberta?
Ou seja, como posso ter o controle e saber q todas as mdichilds fecharam?
Tentei verificar logo apos o fechamento do form child se o activemdichild estava nil mas nao funcionou.
Ou seja, como posso ter o controle e saber q todas as mdichilds fecharam?
Tentei verificar logo apos o fechamento do form child se o activemdichild estava nil mas nao funcionou.
Gabriela
Curtidas 0
Respostas
Massuda
01/12/2004
Use o evento OnActiveFormChange da variável global Screen. No tratador desse evento, você pode testar se o valor de MDIChildCount do seu form principal é zero ou não.
GOSTEI 0
Gabriela
01/12/2004
mas aonde eu coloco esse procedimento? declaro ele solto?
GOSTEI 0
Gabriela
01/12/2004
Consegui. Valeu!
GOSTEI 0
Massuda
01/12/2004
Eu costumo por o tratador desse evento no meu form principal.
type TMeuForm = class(TForm) //... procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private procedure AtualizarMenu(Sender: TObject); // ... implementation procedure TMeuForm.FormCreate(Sender: TObject); begin // ... Screen.OnActiveFormChange := AtualizarMenu; end; procedure TMeuForm.FormDestroy(Sender: TObject); begin Screen.OnActiveFormChange := nil; // ... end; procedure TMeuForm.AtualizarMenu(Sender: TObject); begin //... end;
GOSTEI 0
Bruno_fantin
01/12/2004
o objeto Screen tem todos os forms criados... é só verificar nele...
GOSTEI 0