Função GetMenuState (winuser.h)
Recupera os sinalizadores de menu associados ao item de menu especificado. Se o item de menu abrir um submenu, essa função também retornará o número de itens no submenu.
Sintaxe
UINT GetMenuState(
[in] HMENU hMenu,
[in] UINT uId,
[in] UINT uFlags
);
Parâmetros
[in] hMenu
Tipo: HMENU
Um identificador para o menu que contém o item de menu cujos sinalizadores devem ser recuperados.
[in] uId
Tipo: UINT
O item de menu para o qual os sinalizadores de menu devem ser recuperados, conforme determinado pelo parâmetro uFlags .
[in] uFlags
Tipo: UINT
Indica como o parâmetro uId é interpretado. Esse parâmetro pode usar um dos valores a seguir.
Retornar valor
Tipo: UINT
Se o item especificado não existir, o valor retornado será -1.
Se o item de menu abrir um submenu, o byte de baixa ordem do valor retornado conterá os sinalizadores de menu associados ao item e o byte de ordem alta conterá o número de itens no submenu aberto pelo item.
Caso contrário, o valor retornado será uma máscara (OR bit a bit) dos sinalizadores de menu. A seguir estão os sinalizadores de menu associados ao item de menu.
Valor/código retornado | Descrição |
---|---|
|
Uma marca de marcar é colocada ao lado do item (somente para menus suspensos, submenus e menus de atalho). |
|
O item está desabilitado. |
|
O item está desabilitado e esmaecido. |
|
O item está realçado. |
|
Isso é o mesmo que o sinalizador MF_MENUBREAK , exceto para menus suspensos, submenus e menus de atalho, em que a nova coluna é separada da coluna antiga por uma linha vertical. |
|
O item é colocado em uma nova linha (para barras de menus) ou em uma nova coluna (para menus suspensos, submenus e menus de atalho) sem separar colunas. |
|
O item é desenhado pelo proprietário. |
|
O item de menu é um submenu. |
|
Há uma linha divisória horizontal (somente para menus suspensos, submenus e menus de atalho). |
Comentários
É possível testar um item para um valor de sinalizador de MF_ENABLED, MF_STRING, MF_UNCHECKED ou MF_UNHILITE. No entanto, como esses valores equivalem a zero, você deve usar uma expressão para testá-los.
Sinalizador | Expressão a ser testada para o sinalizador |
---|---|
MF_ENABLED | ! (Flag&(MF_DISABLED | MF_GRAYED)) |
MF_STRING | ! (Flag&(MF_BITMAP | MF_OWNERDRAW)) |
MF_UNCHECKED | ! (Flag&MF_CHECKED) |
MF_UNHILITE | ! (Flag&HILITE) |
Exemplos
Para obter um exemplo, consulte Simulando caixas de seleção em um menu.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-menu-l1-1-2 (introduzido no Windows 10, versão 10.0.10240) |
Confira também
Conceitual
Referência