Содержит информацию, указанную для уведомляющего сообщения NM_CUSTOMDRAW.
Синтаксис
typedef struct tagNMCUSTOMDRAWINFO { NMHDR hdr; DWORD dwDrawStage; HDC hdc; RECT rc; DWORD_PTR dwItemSpec; UINT uItemState; LPARAM lItemlParam; } NMCUSTOMDRAW, *LPNMCUSTOMDRAW; |
Члены структуры
hdr
Структура NMHDR, которая содержит информацию об этом уведомляющем сообщении.
dwDrawStage
Текущая стадия рисования. Это значение может быть одним из нижеследующих.
Общие значения | Предназначение |
CDDS_POSTERASE | После того, как цикл стирания полностью завершается. |
CDDS_POSTPAINT | После того, как цикл окрашивания полностью завершается. |
CDDS_PREERASE | Прежде, чем начинается цикл стирания. |
CDDS_PREPAINT | Прежде, чем начинается цикл окрашивания. |
Специфические для элемента значения | Предназначение |
CDDS_ITEM | Указывает, что члены структуры dwItemSpec, uItemState и lItemlParam правильны. |
CDDS_ITEMPOSTERASE | После того, как элемент был стерт. |
CDDS_ITEMPOSTPAINT | После того, как элемент был нарисован. |
CDDS_ITEMPREERASE | Прежде, чем элемент стерт. |
CDDS_ITEMPREPAINT | Прежде, чем элемент будет нарисован. |
CDDS_SUBITEM | Версия 4.71. Флажок объединяется с флажками CDDS_ITEMPREPAINT или CDDS_ITEMPOSTPAINT, если подэлемент рисуется. Флажок устанавливается только тогда, если CDRF_NOTIFYITEMDRAW возвращается из CDDS_PREPAINT. |
hdc
Дескриптор контекста устройства органа управления. Используйте этот HDC, чтобы выполнить любые функции GDI.
rc
Структура RECT, которая описывает ограничивающий прямоугольник рисующейся области. Этот член структуры инициализируется только в соответствии с уведомлением CDDS_ITEMPREPAINT. Версия 5.80. Этот член структуры также инициализируется в соответствии с уведомлением CDDS_PREPAINT.
dwItemSpec
Номер элемента. То, что содержится в этом члене структуры, будет зависеть от типа органа управления, который отправляет уведомление. См. справочную информацию об уведомлении NM_CUSTOMDRAW для указанного органа управления, чтобы определить то, что, во всяком случае, содержится в этом члене структуры.
uItemState
Текущее состояние элемента. Это значение - комбинация нижеследующих флажков:
Значение | Предназначение |
CDIS_CHECKED | Элемент отмечен галочкой. |
CDIS_DEFAULT | Элемент находится в состоянии по умолчанию. |
CDIS_DISABLED | Элемент заблокирован. |
CDIS_FOCUS | Элемент имеет фокус. |
CDIS_GRAYED | Элемент недоступен. |
CDIS_HOT | Элемент находится в текущий момент под указателем ("горячий"). |
CDIS_INDETERMINATE | Элемент находится в неопределенном состоянии. |
CDIS_MARKED | Элемент отмечен. Значение это - до реализации. |
CDIS_SELECTED | Элемент выбран. |
CDIS_SHOWKEYBOARDCUES | Версия 6.0.Элемент - команда вызова программы клавиатуры. |
Обратите внимание! на то, что это, версия 6 Comctl32 не без ограничений на свободное распространение, но она включается в Windows Microsoft XP или более поздние операционные системы. Чтобы использовать версию 6 Comctl32.dll, определите библиотеку в манифесте. Для получения дополнительной информации о манифестах см. статью Использование визуального стиля Windows XP. |
lItemlParam
Определяемые программой данные элемента.
Замечания
Значение, которое возвратит ваша прикладная программа, зависит от стадии текущего рисунка. Член dwDrawStage связанной структуры NMCUSTOMDRAW удерживает значение, которое определяет стадию рисования. Когда член структуры dwDrawStage равняется CDDS_PREPAINT и CDDS_PREERASE, некоторые органы управления отправляют сначала сообщение CDDS_PREERASE и ожидают возвращаемое значение, которое указывет, какие последующие сообщения должны быть отправлены. Примера кода см. в статье Пример CustomDrawButtonDlg, которая иллюстрирует состояния и этапы рисования.
Смотри такжеОбзор Органы управления Windows, Структуры, используемые для выполнения специального рисования
Размещение и совместимость NMCUSTOMDRAW |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Да версии 4.0 с Internet Explorer 3.0 |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Да с Internet Explorer 3.0 |
С | Windows Server 2003 | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да версии 4.0 с Internet Explorer 3.0 |
в | ||
е | ||
р | ||
Используемая библиотека | - | |
Используемая DLL | comctl32.dll версии 4.70 или выше | |
Заголовочный файл | ||
- объявлено в | commctrl.h | |
- включено в | - | |
Unicode | Нет | |
Замечания по платформе | Не имеется |