CWnd::OnMeasureItemnbsp(&N);

afx_msg void OnMeasureItem ( int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct );

매개 변수

nIDCtl

컨트롤의 ID。

lpMeasureItemStruct

소유자 그리기 컨트롤의 크기를 포함 하는 MEASUREITEMSTRUCT 데이터 구조를 포인트。

주의

프레임 워크가 멤버 함수를 호출 프레임 워크에 의해 소유자 그리기 단추, 콤보 상자, 목록 상자 또는 메뉴 항목의 소유자에 대 한 컨트롤을 만들 때。

이 멤버 함수를 재정의 하 고 lpMeasureItemStruct 및 반환; 가리키는 MEASUREITEMSTRUCT 데이터 구조에서 작성 이 컨트롤의 크기의 창에 알립니다 및 Windows 컨트롤과 함께 사용자 상호 작용을 올바르게 처리할 수 있도록。

프레임 워크; 컨트롤의 각 항목에 대 한 소유자에 대 한이 함수를 호출 LBS_OWNERDRAWVARIABLE 또는 CBS_OWNERDRAWVARIABLE 스타일에서 목록 상자 또는 콤보 상자를 작성 하는 경우 그렇지 않으면이 함수를 한 번 호출 됩니다.

Windows 시작 OnMeasureItem 콤보 상자 및 목록 상자 보내기 전에 OWNERDRAWFIXED 스타일을 사용 하 여 만든 소유자에 대 한 호출에서 WM_INITDIALOG 메시지. 그 결과, 소유자가이 호출을 받으면 Windows가 아직 결정 하지 높이 컨트롤;에 사용 된 글꼴의 폭 함수 호출 및 계산 이러한 값을 필요로 하는 응용 프로그램 또는 라이브러리의 main 함수에서 이루어져야。

측정 항목은 CMenu, CListBox 또는 CComboBox 개체, 적절 한 클래스의 MeasureItem 가상 함수 라고 합니다. 계산 하 고 각 항목의 크기를 설정 하려면 해당 컨트롤의 클래스의 MeasureItem 멤버 함수 재정의。

OnMeasureItem 컨트롤의 클래스는 런타임 시 만들거나 LBS_OWNERDRAWVARIABLE 또는 CBS_OWNERDRAWVARIABLE 스타일으로 생성 하는 경우에 호출 됩니다. 컨트롤을 대화 상자 편집기에 의해 만든 OnMeasureItem 호출 되지 않습니다. 이 때문에 컨트롤의 창조 프로세스의 초기에 WM_MEASUREITEM 메시지가 보내집니다. 만약 DDX_Control, SubclassDlgItem또는 SubclassWindow해당 하위 클래스를 사용 하 여 하위 작성 과정 후 일반적으로 발생 합니다. 따라서, 거기에 MFC 사용 하 여 ON_WM_MEASUREITEM_REFLECT 를 구현 하는 메커니즘은 컨트롤의 OnChildNotify 함수에 WM_MEASUREITEM 메시지를 처리할 수 없습니다.

메모nbsp;??이 멤버 함수는 Windows 메시지를 처리 하는 응용 프로그램을 허용 하는 프레임 워크에 의해 호출 됩니다. 함수에 전달 된 매개 변수 프레임 워크는 메시지를 받으면 받은 매개 변수를 반영 합니다. 이 함수의 기본 클래스 구현을 호출 하는 경우 해당 구현을 원래 메시지와 하지 제공한 매개 변수를 함수에 전달 된 매개 변수 사용 됩니다(&N).

CWnd 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)

참고 항목nbsp;CMenu::MeasureItem, CListBox::MeasureItem, CComboBox::MeasureItem, WM_MEASUREITEM(&N)

Index