MENUITEMINFOA 구조체(winuser.h)

메뉴 항목에 대한 정보를 포함합니다.

구문

typedef struct tagMENUITEMINFOA {
  UINT      cbSize;
  UINT      fMask;
  UINT      fType;
  UINT      fState;
  UINT      wID;
  HMENU     hSubMenu;
  HBITMAP   hbmpChecked;
  HBITMAP   hbmpUnchecked;
  ULONG_PTR dwItemData;
  LPSTR     dwTypeData;
  UINT      cch;
  HBITMAP   hbmpItem;
} MENUITEMINFOA, *LPMENUITEMINFOA;

멤버

cbSize

형식: UINT

구조체의 크기(바이트)입니다. 호출자는 이 멤버를 sizeof(MENUITEMINFO)로 설정해야 합니다.

fMask

형식: UINT

검색하거나 설정할 멤버를 나타냅니다. 이 멤버는 다음 값 중 하나 이상일 수 있습니다.

의미
MIIM_BITMAP
0x00000080
hbmpItem 멤버를 검색하거나 설정합니다.
MIIM_CHECKMARKS
0x00000008
hbmpCheckedhbmpUnchecked 멤버를 검색하거나 설정합니다.
MIIM_DATA
0x00000020
dwItemData 멤버를 검색하거나 설정합니다.
MIIM_FTYPE
0x00000100
fType 멤버를 검색하거나 설정합니다.
MIIM_ID
0x00000002
wID 멤버를 검색하거나 설정합니다.
MIIM_STATE
0x00000001
fState 멤버를 검색하거나 설정합니다.
MIIM_STRING
0x00000040
dwTypeData 멤버를 검색하거나 설정합니다.
MIIM_SUBMENU
0x00000004
hSubMenu 멤버를 검색하거나 설정합니다.
MIIM_TYPE
0x00000010
fType 및dwTypeData 멤버를 검색하거나 설정합니다.

MIIM_TYPEMIIM_BITMAP, MIIM_FTYPEMIIM_STRING 대체됩니다.

fType

형식: UINT

메뉴 항목 유형입니다. 이 멤버는 다음 값 중 하나 이상일 수 있습니다.

MFT_BITMAP, MFT_SEPARATORMFT_STRING 값을 서로 결합할 수 없습니다. fMask를fType을 사용하도록 MIIM_TYPE 설정합니다.

fTypefMask 의 값이 MIIM_FTYPE 경우에만 사용됩니다.

의미
MFT_BITMAP
0x00000004L
비트맵을 사용하여 메뉴 항목을 표시합니다. dwTypeData 멤버의 하위 단어는 비트맵 핸들이며 cch 멤버는 무시됩니다.

MFT_BITMAPMIIM_BITMAPhbmpItem으로 대체됩니다.

MFT_MENUBARBREAK
0x00000020L
메뉴 항목을 새 줄(메뉴 모음의 경우) 또는 새 열(드롭다운 메뉴, 하위 메뉴 또는 바로 가기 메뉴의 경우)에서 Places. 드롭다운 메뉴, 하위 메뉴 또는 바로 가기 메뉴의 경우 세로줄은 새 열을 이전 열과 구분합니다.
MFT_MENUBREAK
0x00000040L
메뉴 항목을 새 줄(메뉴 모음의 경우) 또는 새 열(드롭다운 메뉴, 하위 메뉴 또는 바로 가기 메뉴의 경우)에서 Places. 드롭다운 메뉴, 하위 메뉴 또는 바로 가기 메뉴의 경우 열은 세로선으로 구분되지 않습니다.
MFT_OWNERDRAW
0x00000100L
메뉴를 소유하는 창에 메뉴 항목을 그리는 책임을 할당합니다. 창은 메뉴가 처음으로 표시되기 전에 WM_MEASUREITEM 메시지를 수신하고 메뉴 항목의 모양을 업데이트해야 할 때마다 WM_DRAWITEM 메시지를 받습니다. 이 값을 지정하면 dwTypeData 멤버에 애플리케이션 정의 값이 포함됩니다.
MFT_RADIOCHECK
0x00000200L
hbmpChecked 멤버가 NULL인 경우 검사 표시 대신 라디오 단추 표시를 사용하여 선택한 메뉴 항목을 표시합니다.
MFT_RIGHTJUSTIFY
0x00004000L
메뉴 항목 및 후속 항목을 오른쪽 맞춤합니다. 이 값은 메뉴 항목이 메뉴 모음에 있는 경우에만 유효합니다.
MFT_RIGHTORDER
0x00002000L
메뉴가 오른쪽에서 왼쪽으로 계단식으로 배열되도록 지정합니다(기본값은 왼쪽에서 오른쪽). 아랍어 및 히브리어와 같은 오른쪽에서 왼쪽 언어를 지원하는 데 사용됩니다.
MFT_SEPARATOR
0x00000800L
메뉴 항목이 구분 기호임을 지정합니다. 메뉴 항목 구분 기호가 가로 구분선으로 나타납니다. dwTypeDatacch 멤버는 무시됩니다. 이 값은 드롭다운 메뉴, 하위 메뉴 또는 바로 가기 메뉴에서만 유효합니다.
MFT_STRING
0x00000000L
텍스트 문자열을 사용하여 메뉴 항목을 표시합니다. dwTypeData 멤버는 null로 끝나는 문자열에 대한 포인터이고 cch 멤버는 문자열의 길이입니다.

MFT_STRINGMIIM_STRING 대체됩니다.

fState

형식: UINT

메뉴 항목 상태입니다. 이 멤버는 이러한 값 중 하나 이상일 수 있습니다. fMask를fState를 사용하도록 MIIM_STATE 설정합니다.

의미
MFS_CHECKED
0x00000008L
메뉴 항목을 확인합니다. 선택한 메뉴 항목에 대한 자세한 내용은 hbmpChecked 멤버를 참조하세요.
MFS_DEFAULT
0x00001000L
메뉴 항목이 기본값임을 지정합니다. 메뉴에는 굵게 표시되는 기본 메뉴 항목이 하나만 포함될 수 있습니다.
MFS_DISABLED
0x00000003L
메뉴 항목을 사용하지 않도록 설정하고 선택할 수 없도록 회색으로 표시합니다. 이는 MFS_GRAYED 동일합니다.
MFS_ENABLED
0x00000000L
메뉴 항목을 선택할 수 있도록 설정합니다. 이 설정이 기본 상태입니다.
MFS_GRAYED
0x00000003L
메뉴 항목을 사용하지 않도록 설정하고 선택할 수 없도록 회색으로 표시합니다. 이는 MFS_DISABLED 동일합니다.
MFS_HILITE
0x00000080L
메뉴 항목을 강조 표시합니다.
MFS_UNCHECKED
0x00000000L
메뉴 항목을 선택 취소합니다. 명확한 메뉴 항목에 대한 자세한 내용은 hbmpChecked 멤버를 참조하세요.
MFS_UNHILITE
0x00000000L
메뉴 항목에서 강조 표시를 제거합니다. 이 설정이 기본 상태입니다.

wID

형식: UINT

메뉴 항목을 식별하는 애플리케이션 정의 값입니다. wID를 사용하도록 fMaskMIIM_ID 설정합니다.

hSubMenu

형식: HMENU

메뉴 항목과 연결된 드롭다운 메뉴 또는 하위 메뉴에 대한 핸들입니다. 메뉴 항목이 드롭다운 메뉴 또는 하위 메뉴를 여는 항목이 아닌 경우 이 멤버는 NULL입니다. hSubMenu를 사용하도록 fMaskMIIM_SUBMENU 설정합니다.

hbmpChecked

형식: HBITMAP

선택한 경우 항목 옆에 표시할 비트맵에 대한 핸들입니다. 이 멤버가 NULL이면 기본 비트맵이 사용됩니다. MFT_RADIOCHECK 형식 값을 지정하면 기본 비트맵은 글머리 기호입니다. 그렇지 않으면 검사 표시입니다. hbmpChecked를 사용하도록 fMaskMIIM_CHECKMARKS 설정합니다.

hbmpUnchecked

형식: HBITMAP

항목이 선택되지 않은 경우 항목 옆에 표시할 비트맵에 대한 핸들입니다. 이 멤버가 NULL이면 비트맵이 사용되지 않습니다. hbmpUnchecked를 사용하도록 fMaskMIIM_CHECKMARKS 설정합니다.

dwItemData

형식: ULONG_PTR

메뉴 항목과 연결된 애플리케이션 정의 값입니다. dwItemData를 사용하도록 fMaskMIIM_DATA 설정합니다.

dwTypeData

형식: LPTSTR

메뉴 항목의 내용입니다. 이 멤버의 의미는 fType 값에 따라 달라 집니다 및 fMask 멤버에서 MIIM_TYPE 플래그를 설정 하는 경우에 사용 됩니다.

MFT_STRING 형식의 메뉴 항목을 검색하려면 먼저 MENUITEMINFOdwTypeData 멤버를 NULL로 설정한 다음 GetMenuItemInfo를 호출하여 문자열의 크기를 찾습니다. cch+1의 값은 필요한 크기입니다. 그런 다음 이 크기의 버퍼를 할당하고 dwTypeData에 버퍼에 대한 포인터를 배치하고 cch를 증가시키고 GetMenuItemInfo 를 다시 한 번 호출하여 버퍼를 문자열로 채웁니다. 검색된 메뉴 항목이 다른 형식인 경우 GetMenuItemInfodwTypeData 멤버를 fType 멤버에 의해 형식이 지정된 값으로 설정합니다.

SetMenuItemInfo 함수와 함께 를 사용하는 경우 이 멤버는 fType 멤버에 의해 형식이 지정된 값을 포함해야 합니다.

dwTypeDataMIIM_STRING 플래그가 fMask 멤버에 설정된 경우에만 사용됩니다.

cch

형식: UINT

MFT_STRING 유형의 메뉴 항목에 대한 정보가 수신되는 경우 메뉴 항목 텍스트의 길이(문자)입니다. 그러나 cchMIIM_TYPE 플래그가 fMask 멤버에서 설정되고 그렇지 않으면 0인 경우에만 사용됩니다. 또한 SetMenuItemInfo를 호출하여 메뉴 항목의 콘텐츠를 설정할 때는 cch가 무시됩니다.

GetMenuItemInfo를 호출하기 전에 애플리케이션은 cchdwTypeData 멤버가 가리키는 버퍼의 길이로 설정해야 합니다. 검색된 메뉴 항목이 fType 멤버로 표시된 대로 MFT_STRING 형식인 경우 GetMenuItemInfocch를 메뉴 항목 텍스트의 길이로 변경합니다. 검색된 메뉴 항목이 다른 형식인 경우 GetMenuItemInfocch 필드를 0으로 설정합니다.

cch 멤버는 fMask 멤버에서 MIIM_STRING 플래그를 설정할 때 사용됩니다.

hbmpItem

형식: HBITMAP

표시할 비트맵에 대한 핸들이거나 다음 표의 값 중 하나일 수 있습니다. fMask 멤버에서 MIIM_BITMAP 플래그를 설정할 때 사용됩니다.

의미
HBMMENU_CALLBACK
((HBITMAP) -1)
메뉴를 소유하는 창에서 그린 비트맵입니다. 애플리케이션은 WM_MEASUREITEM 처리하고 메시지를 WM_DRAWITEM 합니다.
HBMMENU_MBAR_CLOSE
((HBITMAP) 5)
메뉴 모음의 닫기 단추입니다.
HBMMENU_MBAR_CLOSE_D
((HBITMAP) 6)
메뉴 모음의 닫기 단추를 사용하지 않도록 설정했습니다.
HBMMENU_MBAR_MINIMIZE
((HBITMAP) 3)
메뉴 모음의 최소화 단추입니다.
HBMMENU_MBAR_MINIMIZE_D
((HBITMAP) 7)
메뉴 모음에 대해 최소화 단추를 사용하지 않도록 설정했습니다.
HBMMENU_MBAR_RESTORE
((HBITMAP) 2)
메뉴 모음의 복원 단추입니다.
HBMMENU_POPUP_CLOSE
((HBITMAP) 8)
하위 메뉴의 닫기 단추입니다.
HBMMENU_POPUP_MAXIMIZE
((HBITMAP) 10)
하위 메뉴의 최대화 단추입니다.
HBMMENU_POPUP_MINIMIZE
((HBITMAP) 11)
하위 메뉴의 최소화 단추입니다.
HBMMENU_POPUP_RESTORE
((HBITMAP) 9)
하위 메뉴의 복원 단추입니다.
HBMMENU_SYSTEM
((HBITMAP) 1)
Windows 아이콘 또는 dwItemData에 지정된 창의 아이콘입니다.

설명

MENUITEMINFO 구조체는 GetMenuItemInfo, InsertMenuItemSetMenuItemInfo 함수와 함께 사용됩니다.

메뉴는 텍스트, 비트맵 또는 둘 다를 사용하여 항목을 표시할 수 있습니다.

참고

winuser.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 MENUITEMINFO를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 winuser.h(Windows.h 포함)

추가 정보

개념

GetMenuItemInfo

InsertMenuItem

메뉴

참조

SetMenuItemInfo

WM_DRAWITEM

WM_MEASUREITEM