Структура NMCUSTOMDRAW


Содержит информацию, указанную для уведомляющего сообщения 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 Нет
 Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz