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