Menus - descobrindo se esta aberto

Top  Previous  Next

Como saber se o menu principal do programa está aberto?

 

Private

  procedure WMMenuSelect(var Mens: TWMMenuSelect);  message WM_MENUSELECT;

 

procedure TForm1.WMMenuSelect(var Mens: TWMMenuSelect);

begin

  // Caso o paramento Menu da mensagem Mens for diferente de zero existe um menu aberto!

  // Aqui o programa ainda separa do menu de sistema que tem um handle que pode ser

  // pego via GetSystemMenu

 

  MenuAberto := (Mens.Menu <> 0and (Mens.Menu <> GetSystemMenu(Self.Handle,False));

end;