Um item de menu pode ser habilitado, cinza ou desabilitado. Por padrão, um item de menu é habilitado. Quando o usuário escolhe um item de menu ativado, o sistema envia uma mensagem de comando para a janela do proprietário ou exibe o submenu correspondente, dependendo de que tipo de item de menu é.
Quando itens de menu não estão disponíveis para o usuário, eles devem ser acinzentados ou desativados. Cinza e itens de menu desativado não podem ser escolhidos. Um item desativado olha apenas como um item habilitado. Quando o usuário clica em um item desativado, o item não está selecionado, e nada acontece. Itens desativados podem ser útil, por exemplo, um tutorial que apresenta um menu que parece ativo, mas não é.
Um aplicativo grays um item de menu não está disponível para fornecer uma indicação visual para o usuário que um comando não está disponível. Você pode usar um item cinza quando uma ação não é apropriada (por exemplo, você pode cinza o comando Imprimir no menu arquivo quando o sistema não tem uma impressora instalada).
O EnableMenuItem função ativa, cinzas, ou desativa um item de menu. Para determinar se um item de menu é habilitado, cinza, ou desabilitado, use a GetMenuItemInfo função.
Em vez de GetMenuItemInfo, você também pode usar a função GetMenuState para determinar se um item de menu é habilitado, cinza ou desabilitado.