Función InsertMenuA (winuser.h)
Inserta un nuevo elemento de menú en un menú y mueve otros elementos hacia abajo del menú.
Sintaxis
BOOL InsertMenuA(
[in] HMENU hMenu,
[in] UINT uPosition,
[in] UINT uFlags,
[in] UINT_PTR uIDNewItem,
[in, optional] LPCSTR lpNewItem
);
Parámetros
[in] hMenu
Tipo: HMENU de
Identificador del menú que se va a cambiar.
[in] uPosition
Tipo: UINT
Elemento de menú antes del cual se va a insertar el nuevo elemento de menú, determinado por el parámetro uFlags.
[in] uFlags
Tipo: UINT
Controla la interpretación del parámetro uPosition y el contenido, la apariencia y el comportamiento del nuevo elemento de menú. Este parámetro debe incluir uno de los siguientes valores necesarios.
El parámetro también debe incluir al menos uno de los valores siguientes.
Valor | Significado |
---|---|
|
Usa un mapa de bits como elemento de menú. El parámetro lpNewItem contiene un identificador para el mapa de bits. |
|
Coloca una marca de verificación junto al elemento de menú. Si la aplicación proporciona mapas de bits de marca de verificación (vea SetMenuItemBitmaps), esta marca muestra el mapa de bits de marca de verificación junto al elemento de menú. |
|
Deshabilita el elemento de menú para que no se pueda seleccionar, pero no lo en gris. |
|
Habilita el elemento de menú para que se pueda seleccionar y restaurarlo a partir de su estado atenuado. |
|
Deshabilita el elemento de menú y lo grisiza para que no se pueda seleccionar. |
|
Funciona igual que la marca de MF_MENUBREAK para una barra de menús. Para un menú desplegable, submenú o menú contextual, la nueva columna se separa de la columna anterior por una línea vertical. |
|
Coloca el elemento en una nueva línea (para barras de menús) o en una nueva columna (para un menú desplegable, submenú o menú contextual) sin separar columnas. |
|
Especifica que el elemento es un elemento dibujado por el propietario. Antes de que el menú se muestre por primera vez, la ventana propietaria del menú recibe un mensaje de WM_MEASUREITEM para recuperar el ancho y el alto del elemento de menú. A continuación, el mensaje WM_DRAWITEM se envía al procedimiento de ventana de la ventana del propietario cada vez que se debe actualizar la apariencia del elemento de menú. |
|
Especifica que el elemento de menú abre un menú desplegable o submenú. El parámetro uIDNewItem especifica un identificador para el menú desplegable o submenú. Esta marca se usa para agregar un nombre de menú a una barra de menús o a un elemento de menú que abre un submenú en un menú desplegable, submenú o menú contextual. |
|
Dibuja una línea divisoria horizontal. Esta marca solo se usa en un menú desplegable, submenú o menú contextual. La línea no puede estar atenuada, deshabilitada ni resaltada. Los parámetros |
|
Especifica que el elemento de menú es una cadena de texto; el parámetro lpNewItem es un puntero a la cadena. |
|
No coloca una marca de verificación junto al elemento de menú (valor predeterminado). Si la aplicación proporciona mapas de bits de marca de verificación (vea el función SetMenuItemBitmaps), esta marca muestra el mapa de bits sin borrar junto al elemento de menú. |
[in] uIDNewItem
Tipo: UINT_PTR
El identificador del nuevo elemento de menú o, si el parámetro uFlags tiene establecida la marca MF_POPUP, un identificador para el menú desplegable o submenú.
[in, optional] lpNewItem
Tipo: LPCTSTR de
Contenido del nuevo elemento de menú. La interpretación de
Valor | Significado |
---|---|
|
Contiene un identificador de mapa de bits. |
|
Contiene un valor proporcionado por la aplicación que se puede usar para mantener datos adicionales relacionados con el elemento de menú. El valor está en el elementoData miembro de la estructura a la que apunta el parámetro lParam del WM_MEASUREITEM o WM_DRAWITEM mensaje enviado cuando se crea el elemento de menú o se actualiza su apariencia. |
|
Contiene un puntero a una cadena terminada en null (valor predeterminado). |
Valor devuelto
Tipo: BOOL de
Si la función se ejecuta correctamente, el valor devuelto es distinto de cero.
Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Observaciones
La aplicación debe llamar a la función DrawMenuBar cada vez que cambia un menú, si el menú está en una ventana mostrada.
No se pueden usar juntos los siguientes grupos de marcas:
- MF_BYCOMMAND y MF_BYPOSITION
- MF_DISABLED, MF_ENABLEDy MF_GRAYED
- MF_BITMAP, MF_STRING, MF_OWNERDRAWy MF_SEPARATOR
- MF_MENUBARBREAK y MF_MENUBREAK
- MF_CHECKED y MF_UNCHECKED
Nota
El encabezado winuser.h define InsertMenu como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winuser.h (incluya Windows.h) |
biblioteca de |
User32.lib |
DLL de |
User32.dll |
conjunto de API de |
ext-ms-win-ntuser-menu-l1-1-0 (introducido en Windows 8) |
Consulte también
conceptual de
menús de
otros recursos
de referencia de