Partager via


CMenu::SetMenuItemBitmaps

Associe les bitmaps spécifiées avec un élément de menu.

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

Paramètres

  • nPosition
    Spécifie l'élément de menu à modifier.Le paramètre d' nFlags peut être utilisé pour interpréter nPosition des façons suivantes :

    nFlags

    Interprétation de nPosition

    MF_BYCOMMAND

    Spécifie que le paramètre permet l'ID de commande de l'élément de menu existant.Valeur par défaut si aucun MF_BYCOMMAND ni MF_BYPOSITION n'est défini.

    MF_BYPOSITION

    Spécifie que le paramètre permet la position de l'élément de menu existant.Le premier élément est à la position 0.

  • nFlags
    Spécifie comment nPosition est interprète.

  • pBmpUnchecked
    Spécifie la bitmap à utiliser pour les éléments de menu qui ne sont pas activées.

  • pBmpChecked
    Spécifie la bitmap à utiliser pour les éléments de menu qui sont activées.

Valeur de retour

Une valeur différente de zéro si la fonction est réussie ; sinon 0.

Notes

Si l'élément de menu est activé ou désactivé, les fenêtres affiche la bitmap appropriée en regard de l'élément de menu.

Si pBmpUnchecked ou pBmpChecked est NULL, les fenêtres n'affiche rien en regard de l'élément de menu pour l'attribut correspondant.Si les deux paramètres sont NULL, windows utilise la coche par défaut lorsque l'élément est activée et supprime la coche lorsque l'élément est désactivé.

Lorsque le menu est détruit, ces bitmap ne sont pas perdues ; l'application doit les détruire.

La fonction de GetMenuCheckMarkDimensions windows récupère les dimensions de la coche par défaut utilisée pour les éléments de menu.L'application utilise ces valeurs pour déterminer la taille appropriée pour les bitmaps fournies avec cette fonction.Obtient la taille, créez vos bitmap, puis placez -les.

Exemple

// 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();

Configuration requise

Header: afxwin.h

Voir aussi

Référence

Classe de CMenu

Graphique de la hiérarchie

GetMenuCheckMarkDimensions

SetMenuItemBitmaps