CMenu::InsertMenu

BOOL InsertMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );

BOOL InsertMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp );

Valor devuelto

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

Parámetros

nPosition

Especifica el elemento de menú antes de que el nuevo elemento de menú es para ser insertado. El parámetro nFlags puede utilizarse para interpretar nPosition de las siguientes maneras:

nFlags Interpretación de nPosition
MF_BYCOMMAND Especifica que el parámetro da el comando ID del elemento de menú existente. Esta es la opción predeterminada si se establece ni MF_BYCOMMAND ni MF_BYPOSITION.
MF_BYPOSITION Especifica que el parámetro da la posición del elemento de menú existente. El primer elemento está en la posición 0. Si nPosition es-1, el nuevo elemento de menú se anexa al final del menú.

nFlags

Especifica cómo se interpreta nPosition y especifica la información sobre el estado del nuevo elemento de menú cuando se agrega al menú. Para obtener una lista de los indicadores que se pueden establecer, vea la función de miembro AppendMenu . Para especificar más de un valor, utilice el operador OR bit a bit para combinar con la bandera MF_BYCOMMAND o MF_BYPOSITION.

nIDNewItem

Especifica el identificador de comando del nuevo elemento de menú o, si nFlags se establece en MF_POPUP, el identificador del menú (HMENU) del menú emergente. El parámetro nIDNewItem se omite (no necesaria) si nFlags se establece en MF_SEPARATOR.

lpszNewItem

Especifica el contenido del elemento de menú nuevo. nFlags puede utilizarse para interpretar lpszNewItem de las siguientes maneras:

nFlags Interpretación de lpszNewItem
MF_OWNERDRAW Contiene un valor de 32 bits suministrados de aplicación que la aplicación puede utilizar para mantener información adicional asociada al elemento de menú. Este valor de 32 bits está disponible para la aplicación en el miembro itemData de la estructura suministrado por el WM_MEASUREITEM y WM_DRAWITEM mensajes. Estos mensajes se envían cuando el elemento de menú se muestra inicialmente o se cambia.
MF_STRING Contiene un largo puntero a una cadena terminada en nulo. Esta es la interpretación predeterminada.
MF_SEPARATOR Se omite el parámetro lpszNewItem (no es necesario).

pBmp

Apunta a un objeto CBitmap que se utilizará como el elemento de menú.

Observaciones

Inserta un nuevo elemento de menú en la posición especificada por nPosition y mueve otros elementos del menú desplegable. La aplicación puede especificar el estado del elemento de menú estableciendo valores en nFlags.

Cuando se cambia un menú que reside en una ventana (o no se muestra la ventana), la aplicación debe llamar a CWnd::DrawMenuBar.

NIDNewItem especifica un menú emergente, se convierte en parte del menú en el que se inserta. Si se destruye ese menú, también se destruirán el menú Insertar. Un menú insertado debe separa de un objeto CMenu para evitar conflictos.

Si el activo de que múltiples documentos (MDI) interfaz niño ventana está maximizada y una inserciones de aplicación es un menú emergente en el menú de la aplicación MDI llamando a esta función y especificando la bandera MF_BYPOSITION , en el menú insertarán una posición más a la izquierda de lo esperado. Esto sucede porque el menú Control de la ventana secundaria MDI activa se inserta en la primera posición de la barra de menús de la ventana de marco MDI. Para colocar el menú correctamente, la aplicación debe agregar 1 el valor de posición que de lo contrario sería utilizado. Una aplicación puede utilizar el mensaje WM_MDIGETACTIVE para determinar si se maximiza la ventana activa actualmente secundaria.

Introducción a CMenu |nbsp; Miembros de clase | Diagrama de jerarquía

Vea tambiénnbsp;CMenu::AppendMenu, CWnd::DrawMenuBar, CMenu::SetMenuItemBitmaps, CMenu::Detach, :: InsertMenu

Index