O componente TMainMenu do Delphi encapsula uma barra de menu e sua queda acompanha down-menus de um formulário.
O componente TMainMenu Delphi não dispõe da propriedade Visible para lhe mostrar ou ocultar o menu para em tempo de execução, logo você poderia dizer que não é possível manipular o menu e seus itens em tempo de execução, não é? Não, mas existe uma maneira de esconder o menu principal para um formulário Delphi em tempo de execução e exibir menus secundários. Veja como ...
Para atribuir um menu de um formulário, de um clique sobre o TMainMenu (digamos que ele tem "MainMenu1" para a sua propriedade Name), adicione itens de menu e atribuá-os para a propriedade Menu de um formulário.
Se pretender ocultar o menu de programação, em tempo de execução, é só usar essa linha de código:
// MainForm é o nome do formulário
MainForm.Menu: = nil;
Para mostrar o menu novamente, basta transferir a propriedade Menu para o formulário:
// MainForm é o nome do formulário
MainForm.Menu: = MainMenu1;
Para mostrar um menu secundário, basta deixar um segundo componente TMainMenu (MainMenu2) pré-configurado e executar a seguinte linha de código:
// MainForm é o nome do formulário
MainForm.Menu: = MainMenu2;
Certo? Até o próximo post!