Compartir a través de


CMenu::SetMenuItemBitmaps

Asocia los mapas de bits especificado a un elemento de menú.

BOOL SetMenuItemBitmaps( 
   UINT nPosition, 
   UINT nFlags, 
   const CBitmap* pBmpUnchecked, 
   const CBitmap* pBmpChecked  
);

Parámetros

  • nPosition
    Especifica el elemento de menú que se va a cambiar. El parámetro de nFlags se puede utilizar para interpretar nPosition de las maneras siguientes:

    nFlags

    Interpretación de nPosition

    MF_BYCOMMAND

    Especifica que el parámetro proporciona el identificador del elemento de menú existente. Éste es el valor predeterminado si no se establece MF_BYCOMMAND ni MF_BYPOSITION .

    MF_BYPOSITION

    Especifica que el parámetro proporciona la posición del elemento de menú existente. el primer elemento está en la posición 0.

  • nFlags
    especifica cómo se interpreta nPosition .

  • pBmpUnchecked
    Especifica el mapa de bits para elementos de menú que no se comprueban.

  • pBmpChecked
    Especifica el mapa de bits para utilizar para elementos de menú que se comprueban.

Valor devuelto

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

Comentarios

Si el elemento de menú está activado o desactivado, Windows muestra el mapa de bits adecuado al lado del elemento de menú.

Si pBmpUnchecked o pBmpChecked es NULL, después Windows no muestra nada al lado del elemento de menú para el atributo correspondiente. si ambos parámetros son NULL, Windows utiliza la marca de verificación predeterminada cuando se comprueba el elemento y quita la marca de verificación cuando se desactiva el elemento.

cuando se destruye el menú, estos mapas de bits no se destruyen; la aplicación debe destruirlos.

la función de Windows GetMenuCheckMarkDimensions recupera las dimensiones de la marca de verificación predeterminada utilizada para los elementos de menú. La aplicación utiliza estos valores para determinar el tamaño apropiado para los mapas de bits proporcionados con esta función. Obtiene el tamaño, crear mapas de bits, y después establezca.

Ejemplo

// The code fragment below is from CMainFrame::OnCreate and shows  
// how to associate bitmaps with the "Bitmap" menu item. 
// Whether the "Bitmap" menu item is checked or unchecked, Windows 
// displays the appropriate bitmap next to the menu item. Both  
// IDB_CHECKBITMAP and IDB_UNCHECKBITMAP bitmaps are loaded  
// in OnCreate() and destroyed in the destructor of CMainFrame class.  
// CMainFrame is a CFrameWnd-derived class. 

// Load bitmaps from resource. Both m_CheckBitmap and m_UnCheckBitmap 
// are member variables of CMainFrame class of type CBitmap.
ASSERT(m_CheckBitmap.LoadBitmap(IDB_CHECKBITMAP));
ASSERT(m_UnCheckBitmap.LoadBitmap(IDB_UNCHECKBITMAP));

// Associate bitmaps with the "Bitmap" menu item. 
CMenu* mmenu = GetMenu();
CMenu* submenu = mmenu->GetSubMenu(4);
ASSERT(submenu->SetMenuItemBitmaps(ID_MENU_BITMAP, MF_BYCOMMAND, 
   &m_CheckBitmap, &m_UnCheckBitmap));
// This code fragment is taken from CMainFrame::~CMainFrame 

// Destroy the bitmap objects if they are loaded successfully  
// in OnCreate(). 
if (m_CheckBitmap.m_hObject)
   m_CheckBitmap.DeleteObject();

if (m_UnCheckBitmap.m_hObject)
   m_UnCheckBitmap.DeleteObject();

Requisitos

encabezado: afxwin.h

Vea también

Referencia

CMenu Class

Gráfico de jerarquías

GetMenuCheckMarkDimensions

SetMenuItemBitmaps