Partilhar via


Quando manipuladores de atualização são chamados

Suponha o usuário ao mouse em no menu arquivo, que gerencia uma mensagem de WM_INITMENUPOPUP . O mecanismo de atualização da estrutura atualiza coletivamente todos os itens no menu arquivo antes de remover o menu para baixo para que o usuário pode exibi-lo.

Para fazer isso, os comandos de atualização das rotas da estrutura para todos os itens de menu no menu suspenso ao longo de roteamento de comando padrão. Os destinos de roteamento no comando têm uma oportunidade de atualizar todos os itens de menu correspondendo o comando de atualização com uma entrada apropriada retornadas (mapa do formulário ON_UPDATE_COMMAND_UI“) e a invocação de uma função de manipulador atualização”. Assim, para um menu com seis itens de menu, seis comandos de atualização são mandados. Se um manipulador de atualização existe para a ID do item de menu, é chamado para fazer atualização. Caso contrário, a estrutura verifica a existência de um manipulador para esse ID do comando e habilita ou desabilita o item de menu conforme apropriado.

Se a estrutura não encontra uma entrada de ON_UPDATE_COMMAND_UI durante o roteamento de comando, habilita automaticamente o objeto da interface de usuário se houver uma entrada de ON_COMMAND em algum lugar com a mesma ID de comando Se não, desabilitar o objeto da interface do usuário. Em virtude disso, para garantir que um objeto da interface do usuário está habilitado, forneça um manipulador para o comando que gerencia o objeto ou fornecer um manipulador de atualização para ele. Consulte a figura Objetos de interface do usuário e IDs de comandono tópico.

É possível desabilitar desabilitar padrão dos objetos de interface do usuário. Para obter mais informações, consulte o membro de m_bAutoMenuEnable da classe CFrameWndna referência de MFC.

A inicialização do menu é automático na estrutura, ocorrendo quando o aplicativo recebe uma mensagem de WM_INITMENUPOPUP . Durante o loop ociosa, a estrutura pesquisa o comando que o roteamento para manipuladores de atualização do botão da mesma forma como ele faz para menus.

Consulte também

Conceitos

Como atualizar objetos de interface do usuário