C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 588 - CMenu::SetMenuItemBitmaps / MFC Справка / Visual C++

Шаг 588 - CMenu::SetMenuItemBitmaps

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

Возвращаемое значение
Отлично от нуля если функция успешна, иначе 0.

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

  • MF_BYCOMMAND - Определяет, что параметр дает команду ID существующего пункта меню. Это - значение по умолчанию, если ни MF_BYCOMMAND ни MF_BYPOSITION не установлен.
  • MF_BYPOSITION - Определяет, что параметр дает позицию существующего пункта меню. Первый элемент - в позиции 0.

nFlags
Определяет, как nPosition интерпретируется.
pBmpUnchecked
Определяет точечный рисунок, чтобы использовать для пунктов меню, которые не проверены.
pBmpChecked
Определяет точечный рисунок, чтобы использовать для пунктов меню, которые проверены.

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

Пример

// Кодовый фрагмент ниже показывает, как сопоставить точечные рисунки с 
// пунктом меню "Test". Выбран ли пункт меню "Test" или 
// нет, Windows отображает соответствующий точечный рисунок рядом с меню 
// IDB_CHECKBITMAP и IDB_UNCHECKBITMAP точечные рисунки загруженный 
// В OnCreate () и разрушенный в деструкторе класса CMainFrame. 
// CMainFrame - класс унаследованный  CMainFrame.

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	// Загрузить точечные рисунки из ресурса. 
	// И m_CheckBitmap и m_UnCheckBitmap
	// являются полями класса CMainFrame типа CBitmap.
	ASSERT(m_CheckBitmap.LoadBitmap(IDB_CHECKBITMAP));
	ASSERT(m_UnCheckBitmap.LoadBitmap(IDB_UNCHECKBITMAP));

	// Точечные рисунки связанные с пунктом меню "Test". 
	CMenu* mmenu = GetMenu();
	CMenu* submenu = mmenu->GetSubMenu(3);
	ASSERT(submenu->SetMenuItemBitmaps(ID_HELP_TEST, MF_BYCOMMAND, 
		&m_CheckBitmap, &m_UnCheckBitmap));

	// ...
}

CMainFrame::~CMainFrame()
{
	// Уничтожить растровые объекты, если они загружены успешно 
	// В OnCreate ().
	if (m_CheckBitmap.m_hObject)
		m_CheckBitmap.DeleteObject();

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

| |
Автор Каев Артем.
[AD]





Дебетовая карта Home Credit [CPS] RU