CW&nd::OnMeasureItemnbsp;

afx_msg void OnMeasureItem ( int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct );

Параметры

nIDCtl

Идентификатор элемента управления.

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.

Примечание   Эта функция-член вызывается framework позволяет приложению обрабатывать сообщение Windows. Параметры, переданные функции отражают параметры, полученные в рамках, когда сообщение было получено. При вызове базового класса реализация этой функции, что реализация будет использовать параметры, первоначально с сообщением и не предоставляемые параметрами функции передается.

Обзор CWnd |nbsp; Члены класса | Иерархическая схема

См. такжеnbsp;CMenu::MeasureItem, CListBox::MeasureItem, CComboBox::MeasureItem, WM_MEASUREITEM

Index