Структура NMCUSTOMDRAW (commctrl.h)
Содержит сведения, относящиеся к коду уведомления NM_CUSTOMDRAW .
Синтаксис
typedef struct tagNMCUSTOMDRAWINFO {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD_PTR dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
Члены
hdr
Тип: NMHDR
Структура NMHDR , содержащая сведения об этом коде уведомления.
dwDrawStage
Тип: DWORD
Текущий этап рисования. Это одно из следующих значений.
Значение | Значение |
---|---|
|
|
|
После завершения цикла стирания. |
|
После завершения цикла рисования. |
|
До начала цикла стирания. |
|
До начала цикла рисования. |
|
|
|
Указывает, что члены dwItemSpec, uItemState и lItemlParam являются допустимыми. |
|
После удаления элемента. |
|
После рисования элемента. |
|
Перед удалением элемента. |
|
Перед рисованием элемента. |
|
Флаг в сочетании с CDDS_ITEMPREPAINT или CDDS_ITEMPOSTPAINT при рисовании подэлемента. Это значение будет задано, только если CDRF_NOTIFYITEMDRAW возвращается из CDDS_PREPAINT. |
hdc
Тип: HDC
Дескриптор контекста устройства элемента управления. Используйте этот HDC для выполнения любых функций GDI.
rc
Тип: RECT
Структура RECT , описывающая ограничивающий прямоугольник рисуемой области. Этот элемент инициализируется только уведомлением CDDS_ITEMPREPAINT. Версия 5.80. Этот элемент также инициализируется уведомлением CDDS_PREPAINT.
dwItemSpec
Тип: DWORD_PTR
Номер элемента. То, что содержится в этом элементе, будет зависеть от типа элемента управления, отправляющего уведомление. Сведения о том, что содержится в этом элементе, см. в справочнике по уведомлениям NM_CUSTOMDRAW для конкретного элемента управления.
uItemState
Тип: UINT
Текущее состояние элемента. Это значение представляет собой сочетание следующих флагов.
Значение | Значение |
---|---|
|
Для элемента установлен флажок. |
|
Элемент находится в состоянии по умолчанию. |
|
Элемент отключен. |
|
Элемент находится в фокусе. |
|
Элемент выводится серым цветом. |
|
Элемент в настоящее время находится под указателем ("горячим"). |
|
Элемент находится в неопределенном состоянии. |
|
Элемент помечен. Смысл этого определяется реализацией . |
|
Элемент выбран.
Примечание Этот флаг не работает правильно для элементов управления представления списка, нарисованных владельцем, которые имеют стиль LVS_SHOWSELALWAYS . Для этих элементов управления можно определить, выбран ли элемент, с помощью LVM_GETITEMSTATE (или ListView_GetItemState) и проверки флага LVIS_SELECTED .
|
|
Версия 6.0.Элемент отображает свои подсказки клавиатуры. Обратите внимание, что Comctl32 версии 6 не распространяется. операционные системы. Чтобы использовать Comctl32.dll версии 6, укажите его в манифесте. Дополнительные сведения о манифестах см. в разделе Включение визуальных стилей. |
|
Элемент является частью элемента управления, который в настоящее время находится под указателем мыши ("горячий"), но сам элемент не является "горячим". Смысл этого определяется реализацией . |
|
Элемент является частью разделителя, который в настоящее время находится под указателем мыши ("горячий"), но сам элемент не является "горячим". Смысл этого определяется реализацией . |
|
В настоящее время элемент является целевым объектом операции перетаскивания. |
lItemlParam
Тип: LPARAM
Данные элементов, определяемых приложением.
Комментарии
Значение, возвращаемое приложением, зависит от текущего этапа рисования. Элемент dwDrawStage связанной структуры NMCUSTOMDRAW содержит значение, указывающее этап рисования. Если член dwDrawStage равен CDDS_PREPAINT и CDDS_PREERASE, некоторые элементы управления сначала отправляют сообщение CDDS_PREERASE и ожидают, что возвращаемое значение указывает, какие последующие сообщения будут отправляться. Пример кода, иллюстрирующий состояния и этапы рисования, см. в разделе Настройка внешнего вида элемента управления с помощью пользовательского рисования.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | commctrl.h |