다음을 통해 공유


EnableMenuItem 함수(winuser.h)

지정된 메뉴 항목을 사용하거나 사용하지 않도록 설정하거나 회색으로 표시합니다.

구문

BOOL EnableMenuItem(
  [in] HMENU hMenu,
  [in] UINT  uIDEnableItem,
  [in] UINT  uEnable
);

매개 변수

[in] hMenu

형식: HMENU

메뉴에 대한 핸들입니다.

[in] uIDEnableItem

형식: UINT

uEnable 매개 변수에 의해 결정된 대로 활성화, 사용 안 함 또는 회색으로 표시할 메뉴 항목입니다. 이 매개 변수는 메뉴 모음, 메뉴 또는 하위 메뉴의 항목을 지정합니다.

[in] uEnable

형식: UINT

uIDEnableItem 매개 변수의 해석을 제어하고 메뉴 항목이 사용, 사용 안 함 또는 회색으로 설정되어 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합이어야 합니다.

의미
MF_BYCOMMAND
0x00000000L
uIDEnableItem이 메뉴 항목의 식별자를 제공했음을 나타냅니다. MF_BYCOMMAND 또는 MF_BYPOSITION 플래그를 지정하지 않으면 MF_BYCOMMAND 플래그가 기본 플래그입니다.
MF_BYPOSITION
0x00000400L
uIDEnableItem이 메뉴 항목의 0부터 시작하는 상대 위치를 제공했음을 나타냅니다.
MF_DISABLED
0x00000002L
메뉴 항목을 사용할 수 없지만 회색으로 표시되지 않으므로 선택할 수 없음을 나타냅니다.
MF_ENABLED
0x00000000L
메뉴 항목을 선택하고 선택할 수 있도록 회색 상태에서 복원됨을 나타냅니다.
MF_GRAYED
0x00000001L
메뉴 항목을 선택할 수 없도록 메뉴 항목이 비활성화되고 회색으로 표시됨을 나타냅니다.

반환 값

형식: BOOL

반환 값은 메뉴 항목의 이전 상태(MF_DISABLED, MF_ENABLED 또는 MF_GRAYED)를 지정합니다. 메뉴 항목이 없으면 반환 값은 -1입니다.

설명

애플리케이션은 MF_BYPOSITION 플래그를 사용하여 올바른 메뉴 핸들을 지정해야 합니다. 메뉴 모음에 대한 메뉴 핸들을 지정하면 최상위 메뉴 항목(메뉴 모음의 항목)이 영향을 받습니다. 드롭다운 메뉴 또는 하위 메뉴의 항목 상태를 위치별로 설정하려면 애플리케이션이 드롭다운 메뉴 또는 하위 메뉴에 대한 핸들을 지정해야 합니다.

애플리케이션이 MF_BYCOMMAND 플래그를 지정하면 시스템은 지정된 메뉴 핸들로 식별되는 메뉴에서 하위 메뉴를 여는 모든 항목을 확인합니다. 따라서 중복된 메뉴 항목이 없으면 메뉴 모음에 메뉴 핸들을 지정하는 것으로 충분합니다.

InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu 및 SetMenuItemInfo 함수는 메뉴 항목의 상태(사용, 사용 안 함 또는 회색)를 설정할 수도 있습니다.

창 메뉴를 변경하면 메뉴 모음이 즉시 업데이트되지 않습니다. 업데이트를 강제 적용하려면 DrawMenuBar를 호출합니다.

요구 사항

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

추가 정보

개념

DrawMenuBar

GetMenuItemID

InsertMenu

InsertMenuItem

LoadMenuIndirect

메뉴

ModifyMenu

참조

SetMenuItemInfo

WM_SYSCOMMAND