Función GetMenuState (winuser.h)
Recupera las marcas de menú asociadas al elemento de menú especificado. Si el elemento de menú abre un submenú, esta función también devuelve el número de elementos del submenú.
Sintaxis
UINT GetMenuState(
[in] HMENU hMenu,
[in] UINT uId,
[in] UINT uFlags
);
Parámetros
[in] hMenu
Tipo: HMENU
Identificador del menú que contiene el elemento de menú cuyas marcas se van a recuperar.
[in] uId
Tipo: UINT
Elemento de menú para el que se van a recuperar las marcas de menú, según lo determinado por el parámetro uFlags .
[in] uFlags
Tipo: UINT
Indica cómo se interpreta el parámetro uId . Este parámetro puede ser uno de los valores siguientes.
Valor devuelto
Tipo: UINT
Si el elemento especificado no existe, el valor devuelto es -1.
Si el elemento de menú abre un submenú, el byte de orden bajo del valor devuelto contiene las marcas de menú asociadas al elemento y el byte de orden superior contiene el número de elementos del submenú abiertos por el elemento.
De lo contrario, el valor devuelto es una máscara (OR bit a bit) de las marcas de menú. A continuación se muestran las marcas de menú asociadas al elemento de menú.
Código o valor devuelto | Descripción |
---|---|
|
Una marca de verificación se coloca junto al elemento (solo para menús desplegables, submenús y menús contextuales). |
|
El elemento está deshabilitado. |
|
El elemento está deshabilitado y atenuado. |
|
El elemento está resaltado. |
|
Es lo mismo que la marca de MF_MENUBREAK , excepto los menús desplegables, submenús y menús contextuales, donde la nueva columna está separada de la columna antigua por una línea vertical. |
|
El elemento se coloca en una nueva línea (para barras de menú) o en una nueva columna (para menús desplegables, submenús y menús contextuales) sin separar columnas. |
|
El elemento es dibujado por el propietario. |
|
El elemento de menú es un submenú. |
|
Hay una línea divisoria horizontal (solo para menús desplegables, submenús y menús contextuales). |
Comentarios
Es posible probar un elemento para un valor de marca de MF_ENABLED, MF_STRING, MF_UNCHECKED o MF_UNHILITE. Sin embargo, dado que estos valores equivalen a cero, debe usar una expresión para probarlos.
Marca | Expresión que se va a probar para la marca |
---|---|
MF_ENABLED | ! (Flag&(MF_DISABLED | MF_GRAYED)) |
MF_STRING | ! (Flag&(MF_BITMAP | MF_OWNERDRAW)) |
MF_UNCHECKED | ! (Flag&MF_CHECKED) |
MF_UNHILITE | ! (Flag&HILITE) |
Ejemplos
Para obtener un ejemplo, vea Simulación de casillas en un menú.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluya Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-menu-l1-1-2 (introducido en Windows 10, versión 10.0.10240) |
Consulte también
Conceptual
Referencia