Структура DRAWITEMSTRUCT (winuser.h)
Предоставляет сведения, которые окно владельца использует для определения способа рисования нарисованного владельцем элемента управления или пункта меню. Окно владельца элемента управления или элемента меню, нарисованного владельцем, получает указатель на эту структуру в качестве параметра lParamWM_DRAWITEM сообщения.
Синтаксис
typedef struct tagDRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
ULONG_PTR itemData;
} DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT;
Члены
CtlType
Тип: UINT
Тип элемента управления. Этот элемент может иметь одно из следующих значений. См. заметки.
CtlID
Тип: UINT
Идентификатор поля со списком, списка, кнопки или статического элемента управления. Этот элемент не используется для пункта меню.
itemID
Тип: UINT
Идентификатор элемента меню для элемента меню или индекс элемента в списке или поле со списком. Для пустого списка или поля со списком этим элементом может быть -1
. Это позволяет приложению рисовать только прямоугольник фокуса в координатах, указанных элементом rcItem , даже если в элементе управления нет элементов. Это указывает пользователю, имеет ли фокус поле со списком или поле со списком. Способ задания битов в элементе itemAction определяет, должен ли прямоугольник быть нарисован так, как будто поле со списком или поле со списком находится в фокусе.
itemAction
Тип: UINT
Требуемое действие рисования. Этот элемент может быть одним или несколькими значениями.
itemState
Тип: UINT
Визуальное состояние элемента после текущего действия рисования. Этот элемент может быть сочетанием значений, показанных в следующей таблице.
hwndItem
Тип: HWND
Дескриптор элемента управления для полей со списком, списков, кнопок и статических элементов управления. Для меню этот элемент является дескриптором меню, которое содержит элемент .
hDC
Тип: HDC
Обработчик контекста устройства. этот контекст устройства должны использоваться при выполнении операций отображения документа на элементе управления.
rcItem
Тип: RECT
Прямоугольник, который определяет границы при отрисовке элемента управления. Этот прямоугольник находится в контексте устройства, заданном элементом hDC . Система автоматически обрезает все, что окно владельца рисует в контексте устройства для полей со списком, списков и кнопок, но не обрезает элементы меню. При рисовании пунктов меню окно владельца не должно рисовать за пределами прямоугольника, определенного элементом rcItem .
itemData
Тип: ULONG_PTR
Определяемое приложением значение, связанное с элементом меню. Для элемента управления этот параметр задает значение, которое последний раз присваивается списку или поле со списком в сообщении LB_SETITEMDATA или CB_SETITEMDATA . Если поле со списком или поле со списком имеет стиль LBS_HASSTRINGS или CBS_HASSTRINGS , это значение изначально равно нулю. В противном случае это значение изначально является значением, которое было передано в поле со списком или поле со списком в параметре lParam одного из следующих сообщений:
Если параметр CtlType имеет значение ODT_BUTTON или ODT_STATIC, аргумент itemData равен нулю.Комментарии
Некоторые типы элементов управления, например строки состояния, не задают значение CtlType.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winuser.h (включая Windows.h) |
См. также раздел
Справочные материалы