다음을 통해 공유


MEASUREITEMSTRUCT 구조체(winuser.h)

소유자가 그린 컨트롤 또는 메뉴 항목의 차원을 시스템에 알립니다. 이렇게 하면 시스템이 컨트롤과 사용자의 상호 작용을 올바르게 처리할 수 있습니다.

구문

typedef struct tagMEASUREITEMSTRUCT {
  UINT      CtlType;
  UINT      CtlID;
  UINT      itemID;
  UINT      itemWidth;
  UINT      itemHeight;
  ULONG_PTR itemData;
} MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;

멤버

CtlType

형식: UINT

컨트롤 형식입니다. 이 멤버는 다음 표에 표시된 값 중 하나일 수 있습니다.

의미
ODT_COMBOBOX
소유자가 그린 콤보 상자
ODT_LISTBOX
소유자가 그린 목록 상자
ODT_LISTVIEW
소유자 그리기 목록 보기 컨트롤
ODT_MENU
소유자가 그린 메뉴

CtlID

형식: UINT

콤보 상자 또는 목록 상자의 식별자입니다. 이 멤버는 메뉴에 사용되지 않습니다.

itemID

형식: UINT

메뉴 항목의 식별자 또는 목록 상자 또는 콤보 상자 항목의 위치입니다. 이 값은 LBS_OWNERDRAWVARIABLE 스타일이 있는 경우에만 목록 상자에 지정됩니다. 이 값은 CBS_OWNERDRAWVARIABLE 스타일이 있는 경우에만 콤보 상자에 대해 지정됩니다.

itemWidth

형식: UINT

메뉴 항목의 너비(픽셀)입니다. 메시지에서 반환하기 전에 소유자가 그린 메뉴 항목의 소유자가 이 멤버를 채워야 합니다.

itemHeight

형식: UINT

목록 상자 또는 메뉴에 있는 개별 항목의 높이(픽셀)입니다. 메시지에서 반환하기 전에 소유자가 그린 콤보 상자, 목록 상자 또는 메뉴 항목의 소유자가 이 멤버를 입력해야 합니다.

itemData

형식: ULONG_PTR

메뉴 항목과 연결된 애플리케이션 정의 값입니다. 컨트롤의 경우 이 멤버는 LB_SETITEMDATA 또는CB_SETITEMDATA 메시지로 목록 상자 또는 콤보 상자에 마지막으로 할당된 값을 지정합니다. 목록 상자 또는 콤보 상자에 LB_HASSTRINGS 또는 CB_HASSTRINGS 스타일이 있는 경우 이 값은 처음에 0입니다. 그렇지 않으면 이 값은 처음에 다음 메시지 중 하나의 lParam 매개 변수에 있는 목록 상자 또는 콤보 상자에 전달되는 값입니다.

설명

소유자가 그린 컨트롤의 소유자 창은 MEASUREITEMSTRUCT 구조체에 대한 포인터를 WM_MEASUREITEM 메시지의 lParam 매개 변수로 받습니다. 소유자가 그린 컨트롤은 컨트롤을 만들 때 이 메시지를 소유자 창으로 보냅니다. 그런 다음 소유자는 컨트롤에 대한 구조체에서 적절한 멤버를 채우고 를 반환합니다. 이 구조체는 창에서 크기가 미리 결정되는 소유자가 그린 단추 컨트롤을 제외한 모든 소유자 그리기 컨트롤에 공통적으로 적용됩니다.

애플리케이션이 MEASUREITEMSTRUCT의 적절한 멤버를 채우지 않으면 컨트롤 또는 메뉴 항목이 제대로 그려지지 않을 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winuser.h(Windows.h 포함)

참고 항목

CB_ADDSTRING

CB_INSERTSTRING

CB_SETITEMDATA

LB_ADDSTRING

LB_INSERTSTRING

LB_SETITEMDATA

참조

WM_MEASUREITEM