CMenu::GetMenuItemInfo
Recupera informações sobre um item de menu.
BOOL GetMenuItemInfo(
UINT uItem,
LPMENUITEMINFO lpMenuItemInfo,
BOOL fByPos = FALSE
);
Parâmetros
uItem
Identificador ou posição do item de menu obter informações sobre.O significado de este parâmetro depende do valor de ByPos.lpMenuItemInfo
Um ponteiro para MENUITEMINFO, como descrito em Windows SDK, que contém informações sobre o menu.fByPos
Valor especificando o significado de nIDItem.Por padrão, ByPos é Falso, que indica que o uItem é um identificador do item de menu.Se ByPos não é definido como Falso, indica uma posição do item de menu.
Valor de retorno
Se a função for bem sucedida, o valor de retorno é diferente de zero.Se a função falhar, o valor de retorno é zero.Para obter informações de erro estendido, use a função GetLastErrorWin32, como descrito em Windows SDK.
Comentários
Essa função de membro implementa o comportamento da função GetMenuItemInfoWin32, como descrito em Windows SDK.Observe que na implementação de GetMenuItemInfo, você MFC não usam um identificador para um menu.
Exemplo
// 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
Cabeçalho: afxwin.h