CSnapInItemImpl::UpdateMenuState
Chamar essa função para modificar um item de menu antes que seja inserido no menu de contexto de objeto do snap-in.
void UpdateMenuState(
UINT id,
LPTSTR pBuf,
UINT *flags
);
Parâmetros
id
[in] O ID de item de menu a ser definido.pBuf
[in] um ponteiro da cadeia de caracteres para o item de menu é atualizado.flags
[in] especifica os novos sinalizadores de estado.Isso pode ser uma combinação das seguintes sinalizações:MF_POPUP especifica que este é um submenu no menu de contexto.Os itens de menu, os pontos de inserção, e um submenus adicionais podem ser adicionados ao submenu usando o lCommandID como seu IInsertionPointID.
MF_BITMAP e MF_OWNERDRAW esses sinalizadores não são permitidos e irão a um valor de retorno de E_INVALIDARG.
MF_SEPARATOR desenha uma linha de divisão horizontal.Somente IContextMenuProvider é permitido adicionar itens de menu com MF_SEPARATOR define.
MF_CHECKED coloca uma marca de seleção próxima ao item de menu.
MF_DISABLED desativa o item de menu para que não pode ser selecionado, mas o sinalizador faz não cinza ele.
MF_ENABLED permite que o item de menu para que pode ser selecionado, restaurando do seu estado esmaecida.
MF_GRAYED desativa o item de menu, graying o portanto não pode ser selecionado.
MF_MENUBARBREAK funciona da mesma forma que o sinalizador de MF_MENUBREAK para uma barra de menus.Para um menu drop-down, um submenu, ou um menu de atalho, a nova coluna é separada da coluna antigo por uma linha vertical.
MF_MENUBREAK coloca o item em uma nova linha (para uma barra de menus) ou em uma nova coluna (para um menu drop-down, um submenu, ou um menu de atalho) sem separar colunas.
MF_UNCHECKED não coloca uma marca de seleção próxima ao item (padrão).
Os seguintes grupos de sinalizadores não podem ser usados juntos:
MF_DISABLED, MF_ENABLED, e MF_GRAYED.
MF_MENUBARBREAK e MF_MENUBREAK.
MF_CHECKED e MF_UNCHECKED.
Requisitos
Cabeçalho: atlsnap.h