WM_MEASUREITEM 메시지

컨트롤이나 메뉴가 만들어질 때 콤보 상자, 목록 상자, 목록 뷰 컨트롤 또는 메뉴 항목의 소유자 창으로 전송됩니다.

창은 WindowProc 함수를 통해 이 메시지를 받습니다.

WM_MEASUREITEM

    WPARAM wParam;
    LPARAM lParam; 

매개 변수

wParam

lParam 매개 변수가 가리키는 MEASUREITEMSTRUCT 구조체의 CtlID 멤버 값을 포함합니다. 이 값은 WM_MEASUREITEM 메시지를 보낸 컨트롤을 식별합니다. 메시지가 메뉴에서 전송된 경우 이 매개 변수는 0입니다. 이 값이 0이 아니거나 이 값이 0이지만 lParam이 가리키는 MEASUREITEMSTRUCTCtlType 멤버 값이 ODT_MENU가 아닌 경우에 메시지가 콤보 상자나 목록 상자에서 전송되었습니다. 값이 0이 아니고 lParam이 가리키는 MEASUREITEMSTRUCTitemID 멤버 값이(UINT) 1인 경우 메시지가 콤보 편집 필드에서 전송되었습니다.

lParam

소유자가 그린 컨트롤 또는 메뉴 항목의 크기를 포함하는 MEASUREITEMSTRUCT 구조체에 대한 포인터입니다.

반환 값

애플리케이션이 이 메시지를 처리하면 TRUE를 반환해야 합니다.

설명

소유자 창이 WM_MEASUREITEM 메시지를 수신하는 경우 소유자는 메시지의 lParam 매개 변수가 가리키는 MEASUREITEMSTRUCT 구조체를 채우고 반환합니다. 이는 컨트롤의 크기를 시스템에 알려 줍니다. 목록 상자 또는 콤보 상자가 LBS_OWNERDRAWVARIABLE 또는 CBS_OWNERDRAWVARIABLE 스타일로 만들어진 경우 이 메시지는 컨트롤의 각 항목에 대해 소유자에게 전송됩니다. 그렇지 않으면 이 메시지가 한 번 전송됩니다.

시스템이 WM_INITDIALOG 메시지를 보내기 전에 OWNERDRAWFIXED 스타일로 만들어진 콤보 상자 및 목록 상자의 소유자 창에 WM_MEASUREITEM 메시지를 보냅니다. 결과적으로 소유자가 이 메시지를 받으면 시스템이 컨트롤에 사용된 글꼴의 높이와 너비를 아직 결정하지 않았습니다. 이러한 값이 필요한 함수 호출 및 계산은 애플리케이션 또는 라이브러리의 기본 함수에서 발생해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
헤더
Winuser.h(Windows.h 포함)

추가 정보

참조

MEASUREITEMSTRUCT

기타 리소스

WM_INITDIALOG