Aplicacao Mdi - Controle de menu e mdichilds

Delphi

01/12/2004

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.


Gabriela

Gabriela

Curtidas 0

Respostas

Massuda

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

Gabriela

01/12/2004

mas aonde eu coloco esse procedimento? declaro ele solto?


GOSTEI 0
Gabriela

Gabriela

01/12/2004

Consegui. Valeu!


GOSTEI 0
Massuda

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

Bruno_fantin

01/12/2004

o objeto Screen tem todos os forms criados... é só verificar nele...


GOSTEI 0
POSTAR