Compartir a través de


CMenu::GetMenuItemInfo

Recupera información sobre un elemento de menú.

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

Parámetros

  • uItem
    Identificador o posición del elemento de menú para obtener información sobre. El significado de este parámetro depende del valor de ByPos.

  • lpMenuItemInfo
    Un puntero a MENUITEMINFO, como se describe en Windows SDK, que contiene información sobre el menú.

  • fByPos
    valor que especifica el significado de nIDItem. De forma predeterminada, ByPos es FALSE, que indica que el uItem es un identificador de elemento de menú. Si ByPos no se establece en FALSE, indica una posición del elemento de menú.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es cero. Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, utilice la función GetLastErrorde Win32, como se describe en Windows SDK.

Comentarios

Esta función miembro implementa el comportamiento de la función GetMenuItemInfode Win32, como se describe en Windows SDK. Observe que en la implementación de GetMenuItemInfo, se de MFC no utilizan un identificador a un menú.

Ejemplo

// 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);
}

Requisitos

encabezado: afxwin.h

Vea también

Referencia

CMenu Class

Gráfico de jerarquías

CWnd::GetMenu

CMenu::GetMenuItemCount

CMenu::GetMenuItemID