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


CMenu::GetMenuItemInfo

Извлекает сведения о пункте меню.

BOOL GetMenuItemInfo(
   UINT uItem,
   LPMENUITEMINFO lpMenuItemInfo,
   BOOL fByPos = FALSE 
);

Параметры

  • uItem
    Идентификатор или индекс пункта меню получить сведения о.Смысл зависит от параметра значение ByPos.

  • lpMenuItemInfo
    Указатель на MENUITEMINFO, как описано в Windows SDK, который содержит сведения о меню.

  • fByPos
    Значение, определяющее значение nIDItem.По умолчанию ByPosFALSE, которое указывает на то, что uItem идентификатор пункта меню.Если ByPos не установлено в FALSE, оно показывает позицию пункта меню.

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

Если функция завершается успешно, то возвращаемое значение не равно нулю.Если функция завершается неудачей, то возвращаемое значение равно нулю.Чтобы получить расширенные сведения об ошибке, используйте функцию Win32 GetLastError, как описано в Windows SDK.

Заметки

Эта функция-член реализует поведение функции Win32 GetMenuItemInfo, как описано в Windows SDK.Обратите внимание, что в GetMenuItemInfo реализации MFC не используется дескриптор меню.

Пример

// CMainFrame::OnToggleTestMenuInfo() is a menu command handler for 
// "Toggle Info" menu item (whose resource id is ID_MENU_TOGGLEINFO). It 
// toggles the checked or unchecked state of the "Toggle Info" menu item.
// CMainFrame is a CFrameWnd-derived class.
void CMainFrame::OnToggleTestMenuItemInfo()
{
   // Get the popup menu which contains the "Toggle Info" menu item.
   CMenu* mmenu = GetMenu();
   CMenu* submenu = mmenu->GetSubMenu(4);

   // Check the state of the "Toggle Info" menu item. Check the menu item
   // if it is currently unchecked. Otherwise, uncheck the menu item
   // if it is not currently checked.
   MENUITEMINFO info;
   info.cbSize = sizeof (MENUITEMINFO); // must fill up this field
   info.fMask = MIIM_STATE;             // get the state of the menu item
   VERIFY(submenu->GetMenuItemInfo(ID_MENU_TOGGLEINFO, &info));

   if (info.fState & MF_CHECKED)
      submenu->CheckMenuItem(ID_MENU_TOGGLEINFO, MF_UNCHECKED | MF_BYCOMMAND);
   else
      submenu->CheckMenuItem(ID_MENU_TOGGLEINFO, MF_CHECKED | MF_BYCOMMAND);
}

Требования

Header: afxwin.h

См. также

Ссылки

Класс CMenu

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

CWnd::GetMenu

CMenu::GetMenuItemCount

CMenu::GetMenuItemID