WM_MEASUREITEM 메시지
컨트롤이나 메뉴가 만들어질 때 콤보 상자, 목록 상자, 목록 뷰 컨트롤 또는 메뉴 항목의 소유자 창으로 전송됩니다.
창은 WindowProc 함수를 통해 이 메시지를 받습니다.
WM_MEASUREITEM
WPARAM wParam;
LPARAM lParam;
매개 변수
-
wParam
-
lParam 매개 변수가 가리키는 MEASUREITEMSTRUCT 구조체의 CtlID 멤버 값을 포함합니다. 이 값은 WM_MEASUREITEM 메시지를 보낸 컨트롤을 식별합니다. 메시지가 메뉴에서 전송된 경우 이 매개 변수는 0입니다. 이 값이 0이 아니거나 이 값이 0이지만 lParam이 가리키는 MEASUREITEMSTRUCT의 CtlType 멤버 값이 ODT_MENU가 아닌 경우에 메시지가 콤보 상자나 목록 상자에서 전송되었습니다. 값이 0이 아니고 lParam이 가리키는 MEASUREITEMSTRUCT의 itemID 멤버 값이(UINT) 1인 경우 메시지가 콤보 편집 필드에서 전송되었습니다.
-
lParam
-
소유자가 그린 컨트롤 또는 메뉴 항목의 크기를 포함하는 MEASUREITEMSTRUCT 구조체에 대한 포인터입니다.
반환 값
애플리케이션이 이 메시지를 처리하면 TRUE를 반환해야 합니다.
설명
소유자 창이 WM_MEASUREITEM 메시지를 수신하는 경우 소유자는 메시지의 lParam 매개 변수가 가리키는 MEASUREITEMSTRUCT 구조체를 채우고 반환합니다. 이는 컨트롤의 크기를 시스템에 알려 줍니다. 목록 상자 또는 콤보 상자가 LBS_OWNERDRAWVARIABLE 또는 CBS_OWNERDRAWVARIABLE 스타일로 만들어진 경우 이 메시지는 컨트롤의 각 항목에 대해 소유자에게 전송됩니다. 그렇지 않으면 이 메시지가 한 번 전송됩니다.
시스템이 WM_INITDIALOG 메시지를 보내기 전에 OWNERDRAWFIXED 스타일로 만들어진 콤보 상자 및 목록 상자의 소유자 창에 WM_MEASUREITEM 메시지를 보냅니다. 결과적으로 소유자가 이 메시지를 받으면 시스템이 컨트롤에 사용된 글꼴의 높이와 너비를 아직 결정하지 않았습니다. 이러한 값이 필요한 함수 호출 및 계산은 애플리케이션 또는 라이브러리의 기본 함수에서 발생해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2003 [데스크톱 앱만 해당] |
헤더 |
|
추가 정보
-
참조
-
기타 리소스