Menús (menús y otros recursos)

En esta sección se describen los menús y se explica cómo usarlos.

En esta sección

Nombre Descripción
Acerca de los menús Describe los menús.
Uso de los menús Proporciona ejemplos de código de tareas relacionadas con menús.
Referencia de menú Contiene la referencia de la API.
Nombre Descripción
AppendMenu Anexa un nuevo elemento al final de la barra de menús especificada, menú desplegable, submenú o menú contextual. Puede usar esta función para especificar el contenido, la apariencia y el comportamiento del elemento de menú.
CheckMenuItem Establece el estado del atributo de marca de verificación del elemento de menú especificado en seleccionado o desactivado.
CheckMenuRadioItem Comprueba un elemento de menú especificado y lo convierte en un elemento de radio. Al mismo tiempo, la función borra todos los demás elementos de menú del grupo asociado y borra la marca de tipo de elemento de radio para esos elementos.
CreateMenu Crea un menú. El menú está inicialmente vacío, pero se puede rellenar con elementos de menú mediante las funciones InsertMenuItem, AppendMenu e InsertMenu .
CreatePopupMenu Crea un menú desplegable, un submenú o un menú contextual. El menú está inicialmente vacío. Puede insertar o anexar elementos de menú mediante la función InsertMenuItem . También puede usar la función InsertMenu para insertar elementos de menú y la función AppendMenu para anexar elementos de menú.
DeleteMenu Elimina un elemento del menú especificado. Si el elemento de menú abre un menú o submenú, esta función destruye el identificador del menú o submenú y libera la memoria usada por el menú o submenú.
DestroyMenu Destruye el menú especificado y libera toda memoria que ocupe el menú.
DrawMenuBar Vuelve a dibujar la barra de menús de la ventana especificada. Si la barra de menús cambia después de que el sistema haya creado la ventana, se debe llamar a esta función para dibujar la barra de menús modificada.
EnableMenuItem Habilita, deshabilita o grises el elemento de menú especificado.
EndMenu Finaliza el menú activo del subproceso que llama.
GetMenu Recupera un identificador en el menú asignado a la ventana especificada.
GetMenuBarInfo Recupera información sobre la barra de menú especificada.
GetMenuCheckMarkDimensions Recupera las dimensiones del mapa de bits de marca de verificación predeterminado. El sistema muestra este mapa de bits junto a los elementos de menú seleccionados. Antes de llamar a la función SetMenuItemBitmaps para reemplazar el mapa de bits de marca de verificación predeterminado para un elemento de menú, una aplicación debe determinar el tamaño de mapa de bits correcto llamando a GetMenuCheckMarkDimensions.
GetMenuDefaultItem Determina el elemento de menú predeterminado en el menú especificado.
GetMenuInfo Recupera información sobre un menú especificado.
GetMenuItemCount Recupera el número de elementos del menú especificado.
GetMenuItemID Recupera el identificador de elemento de menú de un elemento de menú ubicado en la posición especificada de un menú.
GetMenuItemInfo Recupera información sobre un elemento de menú.
GetMenuItemRect Recupera el rectángulo delimitador del elemento de menú especificado.
GetMenuState 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ú.
GetMenuString Copia la cadena de texto del elemento de menú especificado en el búfer especificado.
GetSubMenu Recupera un identificador para el menú desplegable o submenú activado por el elemento de menú especificado.
GetSystemMenu Permite a la aplicación acceder al menú de la ventana (también conocido como menú del sistema o el menú de control) para copiar y modificar.
HiliteMenuItem Resalta o quita el resaltado de un elemento de una barra de menús.
InsertMenuItem Inserta un nuevo elemento de menú en la posición especificada de un menú.
IsMenu Determina si un identificador es un identificador de menú.
LoadMenu Carga el recurso de menú especificado desde el archivo ejecutable (.exe) asociado a una instancia de aplicación.
LoadMenuIndirect Carga la plantilla de menú especificada en memoria.
MenuItemFromPoint Determina qué elemento de menú, si existe, se encuentra en la ubicación especificada.
ModifyMenu Cambia un elemento de menú existente. Esta función se usa para especificar el contenido, la apariencia y el comportamiento del elemento de menú.
RemoveMenu Elimina un elemento de menú o separa un submenú del menú especificado. Si el elemento de menú abre un menú desplegable o submenú, RemoveMenu no destruye el menú ni su identificador, lo que permite reutilizar el menú. Antes de llamar a esta función, la función GetSubMenu debe recuperar un identificador en el menú desplegable o submenú.
SetMenu Asigna un nuevo menú a la ventana especificada.
SetMenuDefaultItem Establece el elemento de menú predeterminado para el menú especificado.
SetMenuInfo Establece información para un menú especificado.
SetMenuItemBitmaps Asocia el mapa de bits especificado a un elemento de menú. Si el elemento de menú está seleccionado o desactivado, el sistema muestra el mapa de bits adecuado junto al elemento de menú.
SetMenuItemInfo Cambia información sobre un elemento de menú.
TrackPopupMenu Muestra un menú contextual en la ubicación especificada y realiza un seguimiento de la selección de elementos en el menú. El menú contextual puede aparecer en cualquier parte de la pantalla.
TrackPopupMenuEx Muestra un menú contextual en la ubicación especificada y realiza un seguimiento de la selección de elementos en el menú contextual. El menú contextual puede aparecer en cualquier parte de la pantalla.

La siguiente función está obsoleta.

Nombre Descripción
InsertMenu Inserta un nuevo elemento de menú en un menú y mueve otros elementos hacia abajo en el menú. Nota: La función InsertMenu se ha reemplazado por la función InsertMenuItem . Sin embargo, puede usar InsertMenu si no necesita ninguna de las características extendidas de InsertMenuItem.
Nombre Descripción
WM_COMMAND Se envía cuando el usuario selecciona un elemento de comando en un menú, cuando un control envía un mensaje de notificación a su ventana primaria o cuando se traduce una pulsación de tecla de aceleración.
WM_CONTEXTMENU Informa a una ventana de que el usuario ha hecho clic en el botón derecho del mouse (clic con el botón derecho) en la ventana.
WM_ENTERMENULOOP Informa al procedimiento de ventana principal de una aplicación de que se ha escrito un bucle modal de menú.
WM_EXITMENULOOP Informa al procedimiento de ventana principal de una aplicación de que se ha salido de un bucle modal de menú.
WM_GETTITLEBARINFOEX Se envía para solicitar información de barra de título extendida. Una ventana recibe este mensaje a través de la función WindowProc.
WM_MENUCOMMAND Se envía cuando el usuario realiza una selección en un menú.
WM_MENUDRAG Se envía al propietario de un menú de arrastrar y colocar cuando el usuario arrastra un elemento de menú.
WM_MENUGETOBJECT Se envía al propietario de un menú de arrastrar y colocar cuando el cursor del mouse entra en un elemento de menú o se mueve desde el centro del elemento a la parte superior o inferior del elemento.
WM_MENURBUTTONUP Se envía cuando el usuario suelta el botón derecho del mouse mientras el cursor está en un elemento de menú.
WM_NEXTMENU Se envía a una aplicación cuando se usa la tecla de flecha derecha o izquierda para cambiar entre la barra de menús y el menú del sistema.
WM_UNINITMENUPOPUP Se envía cuando se ha destruido un menú desplegable o submenú.
Nombre Descripción
MDINEXTMENU Contiene información sobre el menú que se va a activar.
MENUBARINFO Contiene información de la barra de menús.
MENUEX_TEMPLATE_HEADER Define el encabezado de una plantilla de menú extendida. Esta definición de estructura es sólo para explicación; no está presente en ningún archivo de encabezado estándar.
MENUEX_TEMPLATE_ITEM Define un elemento de menú en una plantilla de menú extendida. Esta definición de estructura es sólo para explicación; no está presente en ningún archivo de encabezado estándar.
MENUGETOBJECTINFO Contiene información sobre el menú en el que se encuentra el cursor del mouse.
MENUINFO Contiene información sobre un menú.
MENUITEMINFO Contiene información sobre un elemento de menú.
MENUITEMTEMPLATE Define un elemento de menú en una plantilla de menú.
MENUITEMTEMPLATEHEADER Define el encabezado de una plantilla de menú. Una plantilla de menú completa consta de un encabezado y una o varias listas de elementos de menú.
TPMPARAMS Contiene parámetros extendidos para la función TrackPopupMenuEx .