Поделиться через


CMenu::SetMenuItemBitmaps

Связывает указанные растровые изображения к пункту меню.

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

Параметры

  • nPosition
    Определяет пункта меню, которое нужно изменить. Параметр nFlags может использоваться для интерпретации nPosition следующими способами:

    nFlags

    Интерпретация nPosition

    MF_BYCOMMAND

    Указывает, что параметр содержит идентификатор команды существующего пункта меню. Это значение по умолчанию, если ни MF_BYCOMMAND ни MF_BYPOSITION установлены.

    MF_BYPOSITION

    Указывает, что данный параметр предоставляет позицию существующего пункта меню. Первый элемент в позиции 0.

  • nFlags
    Определяет способ интерпретации nPosition.

  • pBmpUnchecked
    Задает растровое изображение для использования для пунктов меню, которые не проверены.

  • pBmpChecked
    Задает растровое изображение для использования для пунктов меню, проверены.

Возвращаемое значение

Ненулевой если функция успешно; в противном случае – значение 0.

Заметки

Ли пункт меню проверки или снят, Windows отображается соответствующее растровое изображение рядом с пунктом меню.

Если pBmpUnchecked или pBmpCheckedNULL Windows не будет ничего рядом с пунктом меню для соответствующего атрибута. Если оба параметра NULL Windows по умолчанию использует этот флажок, если проверяется только сам элемент и удаляет флажок снят, когда элемент.

При уничтожении меню эти растровые изображения не уничтожены. приложение должно удалить их.

Функция Windows GetMenuCheckMarkDimensions извлекает измерения по умолчанию флажка, используемого для пунктов меню. Приложение использует эти значения, чтобы определить соответствующий размер для растровых изображений, поставляемых с данной функцией. Получает размер создание растровые изображения, а затем задайте для них.

Пример

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

Требования

Header: afxwin.h

См. также

Ссылки

Класс CMenu

Диаграмма иерархии

GetMenuCheckMarkDimensions

SetMenuItemBitmaps