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 매개 변수가 해석되는 방식을 나타냅니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
반환 값
형식: UINT
지정된 항목이 없으면 반환 값은 -1입니다.
메뉴 항목이 하위 메뉴를 열면 반환 값의 하위 순서 바이트에 항목과 연결된 메뉴 플래그가 포함되고 상위 바이트에는 항목이 연 하위 메뉴의 항목 수가 포함됩니다.
그렇지 않으면 반환 값은 메뉴 플래그의 마스크(비트 OR)입니다. 메뉴 항목과 연결된 메뉴 플래그는 다음과 같습니다.
반환 코드/값 | 설명 |
---|---|
|
항목 옆에 검사 표시가 배치됩니다(드롭다운 메뉴, 하위 메뉴 및 바로 가기 메뉴에만 해당). |
|
항목을 사용할 수 없습니다. |
|
항목이 비활성화되고 회색으로 표시됩니다. |
|
항목이 강조 표시됩니다. |
|
이는 드롭다운 메뉴, 하위 메뉴 및 바로 가기 메뉴를 제외하고 새 열이 이전 열과 세로줄로 구분되는 MF_MENUBREAK 플래그와 동일합니다. |
|
항목은 열을 구분하지 않고 새 줄(메뉴 모음의 경우) 또는 새 열(드롭다운 메뉴, 하위 메뉴 및 바로 가기 메뉴의 경우)에 배치됩니다. |
|
항목이 소유자가 그린 것입니다. |
|
메뉴 항목은 하위 메뉴입니다. |
|
가로 구분선이 있습니다(드롭다운 메뉴, 하위 메뉴 및 바로 가기 메뉴에만 해당). |
설명
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에 도입됨) |
추가 정보
개념
참조