Fórum Aplicacao Mdi - Controle de menu e mdichilds #260898

01/12/2004

0

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

Responder

Posts

01/12/2004

Massuda

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.


Responder

Gostei + 0

01/12/2004

Gabriela

mas aonde eu coloco esse procedimento? declaro ele solto?


Responder

Gostei + 0

01/12/2004

Gabriela

Consegui. Valeu!


Responder

Gostei + 0

01/12/2004

Massuda

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;



Responder

Gostei + 0

01/12/2004

Bruno_fantin

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


Responder

Gostei + 0

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

Aceitar