CWnd::OnMeasureItem

프레임 워크는 컨트롤을 만들 때 소유자 그리기 단추, 콤보 상자, 목록 상자 또는 메뉴 항목의 소유자를 프레임 워크에서이 멤버 함수를 호출 합니다.

afx_msg void OnMeasureItem( 
   int nIDCtl, 
   LPMEASUREITEMSTRUCT lpMeasureItemStruct  
);

매개 변수

  • nIDCtl
    컨트롤의 ID입니다.

  • lpMeasureItemStruct
    가리키는 있는 MEASUREITEMSTRUCT 소유자 그리기 컨트롤의 크기를 포함 하는 데이터 구조입니다.

설명

이 멤버 함수를 재정의 하 고 입력은 MEASUREITEMSTRUCT 데이터 구조에서를 가리키는 lpMeasureItemStruct 반환 합니다. 이 Windows 컨트롤의 크기를 알리고 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, 하위 클래스를 작성 프로세스를 만든 후 일반적으로 발생 합니다. 따라서 처리 하는 방법이 없습니다는 WM_MEASUREITEM 메시지는 컨트롤에서 OnChildNotify 함수를 MFC를 사용 하 여 구현 하는 메커니즘입니다 ON_WM_MEASUREITEM_REFLECT.

참고

이 멤버 함수는 Windows 메시지를 처리 하는 응용 프로그램을 허용 하는 프레임 워크에서 호출 됩니다.메시지를 받을 때 프레임 워크에 의해 전달 된 매개 변수를 함수에 전달 된 매개 변수를 반영 합니다.이 함수의 기본 클래스 구현을 호출 하는 경우 해당 구현을 원래 메시지와 입력 매개 변수가 없는 함수에 전달 된 매개 변수를 사용 합니다.

요구 사항

헤더: afxwin.h

참고 항목

참조

CWnd 클래스

계층 구조 차트

CMenu::MeasureItem

CListBox::MeasureItem

CComboBox::MeasureItem

CComboBox::MeasureItem