код уведомления NM_CUSTOMDRAW
Уведомляет родительское окно элемента управления о пользовательских операциях рисования. Этот код уведомления отправляется в виде сообщения WM_NOTIFY .
NM_CUSTOMDRAW
#ifdef LIST_VIEW_CUSTOM_DRAW
lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;
#elif TOOL_TIPS_CUSTOM_DRAW
lpNMCustomDraw = (LPNMTTCUSTOMDRAW) lParam;
#elif TREE_VIEW_CUSTOM_DRAW
lpNMCustomDraw = (LPNMTVCUSTOMDRAW) lParam;
#elif TOOL_BAR_CUSTOM_DRAW
lpNMCustomDraw = (LPNMTBCUSTOMDRAW) lParam;
#else
lpNMCustomDraw = (LPNMCUSTOMDRAW) lParam;
#endif
Параметры
-
lParam
-
Указатель на настраиваемую структуру, связанную с рисованием, которая содержит сведения об операции рисования. В следующем списке указаны элементы управления и связанные с ними структуры.
Control Настраиваемая структура рисования Rebar, trackbar и header NMCUSTOMDRAW Представление списка NMLVCUSTOMDRAW Всплывающая подсказка NMTTCUSTOMDRAW Представление в виде дерева NMTVCUSTOMDRAW Панель инструментов NMTBCUSTOMDRAW
Возвращаемое значение
Возвращаемое приложением значение зависит от текущего этапа рисования. Элемент dwDrawStage связанной структуры NMCUSTOMDRAW содержит значение, указывающее этап рисования. Необходимо вернуть одно из следующих значений.
Код возврата | Описание |
---|---|
|
Элемент управления будет рисовать сам. Он не будет отправлять дополнительные NM_CUSTOMDRAW коды уведомлений для этого цикла рисования. Этот флаг нельзя использовать с любым другим флагом. |
|
Элемент управления будет рисовать только фон. |
|
Приложение указало новый шрифт для элемента; элемент управления будет использовать новый шрифт. Дополнительные сведения об изменении шрифтов см. в разделе Изменение шрифтов и цветов. Это происходит, когда dwDrawStage равно CDDS_ITEMPREPAINT. |
|
Элемент управления уведомляет родителя о любых операциях рисования, связанных с элементами. Он будет отправлять коды уведомлений NM_CUSTOMDRAW до и после рисования элементов. Это происходит, когда dwDrawStage равно CDDS_PREPAINT. |
|
Элемент управления уведомляет родительского элемента после стирания элемента. Это происходит, когда dwDrawStage равно CDDS_PREPAINT. |
|
Элемент управления отправляет код уведомления NM_CUSTOMDRAW по завершении цикла рисования для всего элемента управления. Это происходит, когда dwDrawStage равно CDDS_PREPAINT. |
|
Приложение получит код уведомления NM_CUSTOMDRAW с параметром dwDrawStage , равным CDDS_ITEMPREPAINT | CDDS_SUBITEM перед рисованием каждого подэлемента представления списка. Затем можно указать шрифт и цвет для каждого подэлемента отдельно или вернуть CDRF_DODEFAULT для обработки по умолчанию. Это происходит, когда dwDrawStage равно CDDS_ITEMPREPAINT. |
|
Приложение нарисовало элемент вручную. Элемент управления не будет рисовать элемент . Это происходит, когда dwDrawStage равно CDDS_ITEMPREPAINT. |
|
Элемент управления не будет рисовать прямоугольник фокуса вокруг элемента. |
Комментарии
В настоящее время следующие элементы управления поддерживают пользовательские функции рисования: заголовок, представление списка, панель инструментов, всплывающая подсказка, панель управления, панель управления и представление в виде дерева. Настраиваемое рисование также поддерживается для элементов управления кнопками, если у вас есть манифест приложения, обеспечивающий доступность Comctl32.dll версии 6.
Если это сообщение обрабатывается в процедуре диалогового окна, необходимо задать возвращаемое значение как часть данных окна, прежде чем возвращать значение TRUE. Дополнительные сведения см. в разделе DialogProc.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Заголовок |
|
См. также раздел
-
Основные понятия