다음을 통해 공유


CMenu::GetMenuItemInfo

메뉴 항목에 대 한 정보를 검색합니다.

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

매개 변수

  • uItem
    식별자 또는 정보에 대 한 메뉴 항목의 위치입니다.이 매개 변수의 의미의 값에 따라 ByPos.

  • lpMenuItemInfo
    에 대 한 포인터는 MENUITEMINFO에 설명 된 대로, 여 Windows SDK, 메뉴에 대 한 정보가 들어 있는.

  • fByPos
    값의 의미를 지정 합니다. nIDItem.기본적으로 ByPos 는 거짓, 해당 uItem 이며 메뉴 항목 식별자입니다.경우 ByPos 설정는 거짓, 메뉴 항목 위치를 나타냅니다.

반환 값

함수가 성공 하면 반환 값은 0이 아닙니다.함수가 실패 하면 0이 반환 됩니다.확장 오류 정보를 표시 하려면 Win32 함수를 사용 GetLastError에 설명 된 대로, 여 Windows SDK.

설명

이 멤버 함수는 동작을 구현는 Win32 함수 GetMenuItemInfo에 설명 된 대로은 Windows SDK.이때 MFC 구현에 GetMenuItemInfo, 메뉴에 대 한 핸들을 사용 하지 마십시오.

예제

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

요구 사항

헤더: afxwin.h

참고 항목

참조

CMenu 클래스

계층 구조 차트

CWnd::GetMenu

CMenu::GetMenuItemCount

CMenu::GetMenuItemID