CMenu::GetMenuItemInfo
Récupère des informations sur un élément de menu.
BOOL GetMenuItemInfo(
UINT uItem,
LPMENUITEMINFO lpMenuItemInfo,
BOOL fByPos = FALSE
);
Paramètres
uItem
Identificateur ou position de l'élément de menu pour obtenir des informations sur. La signification de ce paramètre dépend de la valeur d' ByPos.lpMenuItemInfo
Un pointeur vers MENUITEMINFO, comme décrit dans Kit de développement logiciel Windows, qui contient des informations sur le menu.fByPos
Valeur qui spécifie la signification d' nIDItem. Par défaut, ByPos est FALSE, qui pointe vers cet uItem est un identificateur d'élément de menu. Si ByPos n'est pas défini à FALSE, il indique une position d'élément de menu.
Valeur de retour
Si la fonction réussit, la valeur de retour est différente de zéro. Si la fonction échoue, la valeur de retour est zéro. Pour obtenir des informations d'erreurs étendues, utilisez la fonction GetLastErrorWin32, comme décrit dans Kit de développement logiciel Windows.
Notes
Cette fonction membre implémente le comportement du de la fonction GetMenuItemInfoWin32, comme décrit dans Kit de développement logiciel Windows. Notez que dans l'implémentation MFC de GetMenuItemInfo, vous n'utilisez pas un handle d'un menu.
Exemple
// 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);
}
Configuration requise
Header: afxwin.h