Estructura NMCUSTOMDRAW (commctrl.h)
Contiene información específica de un código de notificación de NM_CUSTOMDRAW .
Sintaxis
typedef struct tagNMCUSTOMDRAWINFO {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD_PTR dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
Miembros
hdr
Tipo: NMHDR
Estructura NMHDR que contiene información sobre este código de notificación.
dwDrawStage
Tipo: DWORD
Fase de dibujo actual. Se trata de uno de los siguientes valores.
Valor | Significado |
---|---|
|
|
|
Una vez completado el ciclo de borrado. |
|
Una vez completado el ciclo de pintura. |
|
Antes de que comience el ciclo de borrado. |
|
Antes de que comience el ciclo de pintura. |
|
|
|
Indica que los miembros dwItemSpec, uItemState y lItemlParam son válidos. |
|
Después de borrar un elemento. |
|
Después de dibujar un elemento. |
|
Antes de borrar un elemento. |
|
Antes de dibujar un elemento. |
|
Marca combinada con CDDS_ITEMPREPAINT o CDDS_ITEMPOSTPAINT si se dibuja un subelemento. Esto solo se establecerá si CDRF_NOTIFYITEMDRAW se devuelve de CDDS_PREPAINT. |
hdc
Tipo: HDC
Identificador del contexto del dispositivo del control. Use esta HDC para realizar cualquier función GDI.
rc
Tipo: RECT
Estructura RECT que describe el rectángulo delimitador del área que se va a dibujar. Este miembro solo se inicializa mediante la notificación de CDDS_ITEMPREPAINT. Versión 5.80. Este miembro también se inicializa mediante la notificación de CDDS_PREPAINT.
dwItemSpec
Tipo: DWORD_PTR
Número de elemento. Lo que se incluye en este miembro dependerá del tipo de control que envía la notificación. Consulte la referencia de notificación de NM_CUSTOMDRAW para el control específico para determinar qué, si hay algo, en este miembro.
uItemState
Tipo: UINT
Estado actual del elemento. Este valor es una combinación de las marcas siguientes.
Valor | Significado |
---|---|
|
El elemento está activado. |
|
El elemento está en su estado predeterminado. |
|
El elemento está deshabilitado. |
|
El elemento está en el foco. |
|
El elemento está atenuado. |
|
El elemento está actualmente bajo el puntero ("frecuente"). |
|
El elemento está en un estado indeterminado. |
|
El elemento está marcado. El significado de esto viene determinado por la implementación. |
|
El elemento está seleccionado.
Nota Esta marca no funciona correctamente para los controles de vista de lista dibujados por el propietario que tienen el estilo LVS_SHOWSELALWAYS . Para estos controles, puede determinar si un elemento está seleccionado mediante LVM_GETITEMSTATE (o ListView_GetItemState) y comprobar la marca de LVIS_SELECTED .
|
|
Versión 6.0.El elemento muestra sus indicaciones de teclado. Tenga en cuenta que Comctl32 versión 6 no es redistribuible. sistemas operativos. Para usar Comctl32.dll versión 6, especifíquelo en el manifiesto. Para obtener más información sobre los manifiestos, consulte Habilitación de estilos visuales. |
|
El elemento forma parte de un control que está actualmente bajo el puntero del mouse ("activo"), pero el elemento no es "frecuente". El significado de esto viene determinado por la implementación. |
|
El elemento forma parte de un botón de división que está actualmente bajo el puntero del mouse ("activo"), pero el elemento no es "frecuente". El significado de esto viene determinado por la implementación. |
|
El elemento es actualmente el destino de colocación de una operación de arrastrar y colocar. |
lItemlParam
Tipo: LPARAM
Datos de elementos definidos por la aplicación.
Comentarios
El valor que devuelve la aplicación depende de la fase de dibujo actual. El miembro dwDrawStage de la estructura NMCUSTOMDRAW asociada contiene un valor que especifica la fase de dibujo. Cuando el miembro dwDrawStage es igual a CDDS_PREPAINT y CDDS_PREERASE, algunos controles envían primero el mensaje CDDS_PREERASE y esperan que el valor devuelto indique qué mensajes posteriores se enviarán. Para obtener un ejemplo de código que muestre los estados y las fases de dibujo, consulte Personalización de la apariencia de un control mediante dibujo personalizado.
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado | commctrl.h |