Поделиться через


Структура MEASUREITEMSTRUCT (winuser.h)

Информирует систему о размерах элемента управления или элемента меню, нарисованного владельцем. Это позволяет системе правильно обрабатывать взаимодействие пользователя с элементом управления.

Синтаксис

typedef struct tagMEASUREITEMSTRUCT {
  UINT      CtlType;
  UINT      CtlID;
  UINT      itemID;
  UINT      itemWidth;
  UINT      itemHeight;
  ULONG_PTR itemData;
} MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;

Члены

CtlType

Тип: UINT

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

Значение Значение
ODT_COMBOBOX
Поле со списком, нарисованное владельцем
ODT_LISTBOX
Список, нарисованный владельцем
ODT_LISTVIEW
Элемент управления "Отрисовка списка и представления" для владельца
ODT_MENU
Нарисованное владельцем меню

CtlID

Тип: UINT

Идентификатор поля со списком или списка. Этот элемент не используется для меню.

itemID

Тип: UINT

Идентификатор элемента меню или положение списка или элемента поля со списком. Это значение указывается для списка только в том случае, если он имеет стиль LBS_OWNERDRAWVARIABLE ; Это значение указывается для поля со списком, только если оно имеет стиль CBS_OWNERDRAWVARIABLE .

itemWidth

Тип: UINT

Ширина элемента меню (в пикселях). Перед возвращением из сообщения владелец элемента меню, нарисованного владельцем, должен заполнить этот элемент.

itemHeight

Тип: UINT

Высота (в пикселях) отдельного элемента в списке или меню. Перед возвращением из сообщения владелец поля со списком, списка или пункта меню, нарисованного владельцем, должен заполнить этот элемент.

itemData

Тип: ULONG_PTR

Определяемое приложением значение, связанное с элементом меню. Для элемента управления этот элемент задает значение, которое последнее присваивается списку или поле со списком LB_SETITEMDATA или CB_SETITEMDATA сообщению. Если список или поле со списком имеет стиль LB_HASSTRINGS или CB_HASSTRINGS, это значение изначально равно нулю. В противном случае это значение изначально является значением, переданным в поле со списком или поле со списком в параметре lParam одного из следующих сообщений:

Комментарии

Окно владельца элемента управления, нарисованного владельцем, получает указатель на структуру MEASUREITEMSTRUCT в качестве параметра lParamсообщения WM_MEASUREITEM . Элемент управления, нарисованный владельцем, отправляет это сообщение в окно владельца при создании элемента управления. Затем владелец заполняет соответствующие элементы в структуре элемента управления и возвращает . Эта структура является общей для всех элементов управления, нарисованных владельцем, за исключением элемента управления кнопкой, нарисованного владельцем, размер которого предопределен окном.

Если приложение не заполняет соответствующие элементы MEASUREITEMSTRUCT, элемент управления или пункт меню могут быть отрисованы неправильно.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть winuser.h (включая Windows.h)

См. также раздел

CB_ADDSTRING

CB_INSERTSTRING

CB_SETITEMDATA

LB_ADDSTRING

LB_INSERTSTRING

LB_SETITEMDATA

Справочные материалы

WM_MEASUREITEM