다음을 통해 공유


GetMenuState 함수(winuser.h)

지정된 메뉴 항목과 연결된 메뉴 플래그를 검색합니다. 메뉴 항목이 하위 메뉴를 열면 이 함수는 하위 메뉴의 항목 수도 반환합니다.

참고GetMenuState 함수는 GetMenuItemInfo로 대체되었습니다. 그러나 GetMenuItemInfo의 확장된 기능이 필요하지 않은 경우에도 GetMenuState를 사용할 수 있습니다.
 

구문

UINT GetMenuState(
  [in] HMENU hMenu,
  [in] UINT  uId,
  [in] UINT  uFlags
);

매개 변수

[in] hMenu

형식: HMENU

플래그를 검색할 메뉴 항목이 포함된 메뉴에 대한 핸들입니다.

[in] uId

형식: UINT

uFlags 매개 변수에 의해 결정된 대로 메뉴 플래그를 검색할 메뉴 항목입니다.

[in] uFlags

형식: UINT

uId 매개 변수가 해석되는 방식을 나타냅니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
MF_BYCOMMAND
0x00000000L
uId 매개 변수가 메뉴 항목의 식별자를 제공했음을 나타냅니다. MF_BYCOMMAND 플래그와 MF_BYPOSITION 플래그를 지정하지 않으면 MF_BYCOMMAND 플래그가 기본값입니다.
MF_BYPOSITION
0x00000400L
uId 매개 변수가 메뉴 항목의 0부터 시작하는 상대 위치를 제공했음을 나타냅니다.

반환 값

형식: UINT

지정된 항목이 없으면 반환 값은 -1입니다.

메뉴 항목이 하위 메뉴를 열면 반환 값의 하위 순서 바이트에 항목과 연결된 메뉴 플래그가 포함되고 상위 바이트에는 항목이 연 하위 메뉴의 항목 수가 포함됩니다.

그렇지 않으면 반환 값은 메뉴 플래그의 마스크(비트 OR)입니다. 메뉴 항목과 연결된 메뉴 플래그는 다음과 같습니다.

반환 코드/값 설명
MF_CHECKED
0x00000008L
항목 옆에 검사 표시가 배치됩니다(드롭다운 메뉴, 하위 메뉴 및 바로 가기 메뉴에만 해당).
MF_DISABLED
0x00000002L
항목을 사용할 수 없습니다.
MF_GRAYED
0x00000001L
항목이 비활성화되고 회색으로 표시됩니다.
MF_HILITE
0x00000080L
항목이 강조 표시됩니다.
MF_MENUBARBREAK
0x00000020L
이는 드롭다운 메뉴, 하위 메뉴 및 바로 가기 메뉴를 제외하고 열이 이전 열과 세로줄로 구분되는 MF_MENUBREAK 플래그와 동일합니다.
MF_MENUBREAK
0x00000040L
항목은 열을 구분하지 않고 새 줄(메뉴 모음의 경우) 또는 새 열(드롭다운 메뉴, 하위 메뉴 및 바로 가기 메뉴의 경우)에 배치됩니다.
MF_OWNERDRAW
0x00000100L
항목이 소유자가 그린 것입니다.
MF_POPUP
0x00000010L
메뉴 항목은 하위 메뉴입니다.
MF_SEPARATOR
0x00000800L
가로 구분선이 있습니다(드롭다운 메뉴, 하위 메뉴 및 바로 가기 메뉴에만 해당).

설명

MF_ENABLED, MF_STRING, MF_UNCHECKED 또는 MF_UNHILITE 플래그 값에 대한 항목을 테스트할 수 있습니다. 그러나 이러한 값은 0과 동일하므로 식을 사용하여 테스트해야 합니다.

플래그 플래그를 테스트할 식
MF_ENABLED ! (Flag&(MF_DISABLED | MF_GRAYED))
MF_STRING ! (Flag&(MF_BITMAP | MF_OWNERDRAW))
MF_UNCHECKED ! (Flag&MF_CHECKED)
MF_UNHILITE ! (Flag&HILITE)
 

예제

예제를 보려면 메뉴에서 확인란 시뮬레이션을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-menu-l1-1-2(Windows 10 버전 10.0.10240에 도입됨)

추가 정보

개념

GetMenu

GetMenuItemCount

GetMenuItemID

GetMenuItemInfo

메뉴

참조