Freigeben über


CMenu::SetMenuItemBitmaps

Ordnet die angegebenen Bitmap mit einem Menüelement zu.

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

Parameter

  • nPosition
    Gibt das zu ändernde an Menüelement. Der nFlags-Parameter kann verwendet werden, um nPosition folgendermaßen zu interpretieren:

    nFlags

    Interpretation von nPosition

    MF_BYCOMMAND

    Gibt an, dass der Parameter der Befehls-ID des vorhandenen Menüelements gibt. Dies ist der Standardwert, wenn weder noch MF_BYCOMMANDMF_BYPOSITION festgelegt ist.

    MF_BYPOSITION

    Gibt an, dass der Parameter die Position des vorhandenen Menüelements gibt. Der erste Punkt befindet sich an Position 0.

  • nFlags
    Gibt an, wie nPosition interpretiert wird.

  • pBmpUnchecked
    Gibt die Bitmap, um für Menüelemente zu verwenden, die nicht überprüft werden.

  • pBmpChecked
    Gibt die Bitmap, um für Menüelemente zu verwenden, die überprüft werden.

Rückgabewert

Ungleich 0 (null), wenn die Funktion erfolgreich; 0 andernfalls.

Hinweise

Ob das Menüelement aktiviert oder deaktiviert wird, wird die entsprechende Windows Bitmap neben dem Menüelement an.

Wenn entweder pBmpUnchecked oder pBmpCheckedNULL ist, werden keine Windows neben dem Menüelement für das entsprechende Attribut angezeigt. Wenn beide Parameter NULL sind, verwendet das standardmäßige Windows Häkchen, wenn das Element aktiviert ist und entfernt das Häkchen, wenn das Element deaktiviert wird.

Wenn das Menü zerstört wird, werden diese Bitmaps nicht zerstört; muss die Anwendung sie zerstören.

Die Funktion Windows GetMenuCheckMarkDimensions ruft die Dimensionen des standardmäßigen Häkchen ab, das für Menüelemente verwendet wird. Die Anwendung verwendet diese Werte, um die entsprechende Größe für die Bitmaps zu bestimmen, die dieser Funktion angegeben werden. Rufen Sie die Größe ab, erstellen Sie die Bitmaps, und legen Sie diese auf fest.

Beispiel

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

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CMenu-Klasse

Hierarchiediagramm

GetMenuCheckMarkDimensions

SetMenuItemBitmaps