Partager via


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

Voir aussi

Référence

Classe de CMenu

Graphique de la hiérarchie

CWnd::GetMenu

CMenu::GetMenuItemCount

CMenu::GetMenuItemID