Mensagens utilizadas com Menus

O sistema reporta menu-relacionado atividade enviando mensagens para o procedimento janela da janela que possui o menu. O sistema envia uma série de mensagens quando o usuário seleciona itens na barra de menu ou clica no botão direito do mouse para exibir um menu de atalho.

Quando o usuário ativa um item na barra de menu, o janela proprietária recebe primeiro uma mensagem WM_SYSCOMMAND . Essa mensagem inclui um Sinalizar que indica se o usuário ativado no menu usando o teclado (SC_KEYMENU) ou o mouse (SC_MOUSEMENU). Para obter mais informações, consulte Acesso de teclado aos Menus.

Em seguida, antes de exibir quaisquer menus, o sistema envia a mensagem WM_INITMENU para o procedimento janela para que um aplicativo pode modificar os menus antes que o usuário vê-los. O sistema envia a mensagem WM_INITMENU apenas uma vez por ativação do menu.

Quando os pontos de usuário para um item de menu que abre um submenu, o sistema envia a janela de proprietário a WM_INITMENUPOPUP mensagem antes de exibir o submenu. Essa mensagem oferece o aplicativo a oportunidade de modificar o submenu antes que ele seja exibido.

Cada vez que o usuário move o realce de um item para outro, o sistema envia uma mensagem WM_MENUSELECT para o procedimento janela da janela de proprietário do menu. Esta mensagem identifica o item de menu selecionado no momento. Muitos aplicativos fornecem uma área de informações na parte inferior do seus windows principais e usam esta mensagem para exibir informações adicionais sobre o item de menu selecionado.

Quando o usuário escolhe um comando item de um menu, o sistema envia uma mensagem WM_COMMAND para o procedimento janela. A baixa-palavra de ordem wParam parâmetro o WM_COMMAND mensagem contém o identificador do item escolhido. O procedimento janela deve examinar o identificador e processar a mensagem de acordo.

Nem todos os menus são acessíveis através da barra de menus da janela. Muitos aplicativos exibir menus de atalho quando o usuário clica o botão direito do mouse em um local específico. Esses pedidos devem processar a mensagem WM_CONTEXTMENU e exibir um menu de atalho, se for caso disso. Se um aplicativo não exibe um menu de atalho, ele deve transmitir a WM_CONTEXTMENU mensagem para o DefWindowProc função para processamento padrão.

Index