Compartir a través de


CMenu::AppendMenu

Agrega un nuevo elemento al final de un menú.

BOOL AppendMenu( 
   UINT nFlags, 
   UINT_PTR nIDNewItem = 0, 
   LPCTSTR lpszNewItem = NULL  
); 
BOOL AppendMenu( 
   UINT nFlags, 
   UINT_PTR nIDNewItem, 
   const CBitmap* pBmp  
);

Parámetros

  • nFlags
    Especifica la información sobre el estado del nuevo elemento de menú cuando se agrega al menú. Consta de uno o más de los valores enumerados en la sección comentarios.

  • nIDNewItem
    Especifica el id. del nuevo elemento de menú o, si nFlags se establece en MF_POPUP, el identificador de menú (HMENU) de un menú emergente. Se omite el parámetro de nIDNewItem (no necesario) si nFlags se establece en MF_SEPARATOR.

  • lpszNewItem
    Especifica el contenido del nuevo elemento de menú. El parámetro de nFlags se utiliza para interpretar lpszNewItem así:

    nFlags

    Interpretación de lpszNewItem

    MF_OWNERDRAW

    Contiene un valor de 32 bits aplicación-proporcionado que la aplicación pueda utilizar para mantener los datos adicionales asociados con el elemento de menú. Este valor de 32 bits está disponible para la aplicación cuando procesa WM_MEASUREITEM y los mensajes de WM_DRAWITEM . El valor se almacena en el miembro de itemData de la estructura proporcionada con esos mensajes.

    MF_STRING

    Contiene un puntero a una cadena terminada en null. ésta es la interpretación predeterminada.

    MF_SEPARATOR

    Se omite el parámetro de lpszNewItem (no necesario).

  • pBmp
    Señala a un objeto de CBitmap que se utilizará como el elemento de menú.

Valor devuelto

Distinto de cero si la función es correcta; si no 0.

Comentarios

La aplicación puede especificar el estado del elemento de menú estableciendo valores en nFlags. Cuando nIDNewItem especifica un menú emergente, se convierte en parte de menú al que se anexa. Si se destruye ese menú, el menú anexado también se destruirá. Un menú anexado se debe desasociar de un objeto de CMenu para evitar conflictos. Observe que MF_STRING y MF_OWNERDRAW no son válidos para la versión de mapa de bits de AppendMenu.

La lista siguiente describe los marcadores que se pueden establecer en nFlags:

  • MF_CHECKED Acts como alternancia con MF_UNCHECKED para colocar la marca de verificación predeterminada junto al elemento. Cuando la aplicación proporciona mapas de bits de la marca de verificación (vea la función miembro de SetMenuItemBitmaps ), “marca de verificación en” mapa de bits se muestra.

  • MF_UNCHECKED Acts como alternancia con MF_CHECKED para quitar una marca de verificación junto al elemento. Cuando se muestran los mapas de bits de la marca de verificación de fuentes de la aplicación (vea la función miembro de SetMenuItemBitmaps ), “marca de verificación” del mapa de bits.

  • MF_DISABLED deshabilita el elemento de menú para no pueda seleccionar pero no lo atenuado.

  • MF_ENABLED habilita el elemento de menú para poder seleccionarlo y las restauraciones él de su estado atenuada.

  • MF_GRAYED deshabilita el elemento de menú para no pueda seleccionar y lo atenuado.

  • MF_MENUBARBREAK coloca el elemento en una nueva línea en menús estáticos o en una nueva columna en menús emergentes. La nueva columna del elemento emergente se independiente de la columna antigua por una línea de división vertical.

  • MF_MENUBREAK coloca el elemento en una nueva línea en menús estáticos o en una nueva columna en menús emergentes. No se coloca ninguna línea de división entre las columnas.

  • MF_OWNERDRAW especifica que el elemento es un elemento de propietario- dibujo. Cuando se muestra el menú por primera vez, la ventana que posee el menú recibe un mensaje de WM_MEASUREITEM , que recupera el alto y ancho del elemento de menú. El mensaje de WM_DRAWITEM es el que se envió siempre que el propietario debe actualizar el aspecto visual del elemento de menú. Esta opción no es válida para un elemento de menú de nivel superior.

  • MF_POPUP especifica que el elemento de menú tiene un menú emergente asociado a él. El parámetro id. especifica un identificador a un menú emergente que debe estar asociado al elemento. Se utiliza para agregar un menú emergente de nivel superior o un menú emergente jerárquico a un elemento de menú emergente.

  • MF_SEPARATOR dibuja una línea de división horizontal. Sólo se puede utilizar en un menú emergente. Esta línea no puede estar atenuada, deshabilitado, o resaltado. se omiten otros parámetros.

  • MF_STRING especifica que el elemento de menú es una cadena de caracteres.

Cada uno de los siguientes indicadores de listas de grupos que se mutuamente exclusivo y no se puede utilizar juntos:

  • MF_DISABLED, MF_ENABLED, y MF_GRAYED

  • MF_STRING, MF_OWNERDRAW, MF_SEPARATOR, y la versión bitmap

  • MF_MENUBARBREAK y MF_MENUBREAK

  • MF_CHECKED y MF_UNCHECKED

Siempre que se cambie un menú que residen en una ventana (si la ventana se muestra), la aplicación debe llamar a CWnd::DrawMenuBar.

Ejemplo

Vea el ejemplo para CMenu:: CreateMenu.

Requisitos

encabezado: afxwin.h

Vea también

Referencia

CMenu Class

Gráfico de jerarquías

CWnd::DrawMenuBar

CMenu::InsertMenu

CMenu::RemoveMenu

CMenu::SetMenuItemBitmaps

CMenu::Detach

AppendMenu