CMenu::GetMenuItemInfo
Načte informace o položce nabídky.
BOOL GetMenuItemInfo(
UINT uItem,
LPMENUITEMINFO lpMenuItemInfo,
BOOL fByPos = FALSE
);
Parametry
uItem
Identifikátor nebo položky nabídky získat informace o pozici.Význam tohoto parametru závisí na hodnotě ByPos .lpMenuItemInfo
Ukazatel na MENUITEMINFO, jak je popsáno v , který obsahuje informace o nabídce.fByPos
Hodnota určující význam nIDItem .Ve výchozím nastavení ByPos je FALSE, což znamená, že uItem je identifikátor položky nabídky.Pokud ByPos není nastavena na FALSE, označuje umístění nabídky.
Vrácená hodnota
Pokud funkce úspěšný, vrácená hodnota je nenulová.Pokud selže funkce, je vrácena hodnota nula.Získat rozšířené informace o chybě, použijte funkci Win32 GetLastError, jak je popsáno v .
Poznámky
Členské funkce implementuje chování funkci Win32 GetMenuItemInfo, jak je popsáno v .Všimněte si, že při provádění MFC GetMenuItemInfo , nepoužívejte popisovač nabídky.
Příklad
// 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);
}
Požadavky
Záhlaví: afxwin.h