NM_CUSTOMDRAW código de notificación

Notifica a la ventana primaria de un control las operaciones de dibujo personalizadas. Este código de notificación se envía en forma de mensaje de 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

Parámetros

lParam

Puntero a una estructura personalizada relacionada con el dibujo que contiene información sobre la operación de dibujo. En la lista siguiente se especifican los controles y sus estructuras asociadas.

Control Estructura de dibujo personalizada
Rebar, trackbar y header NMCUSTOMDRAW
Vista de lista NMLVCUSTOMDRAW
Información sobre herramientas NMTTCUSTOMDRAW
Vista de árbol NMTVCUSTOMDRAW
Barra de herramientas NMTBCUSTOMDRAW

Valor devuelto

El valor que puede devolver 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. Debe devolver uno de los valores siguientes.

Código devuelto Descripción
CDRF_DODEFAULT
El control se dibujará a sí mismo. No enviará códigos de notificación de NM_CUSTOMDRAW adicionales para este ciclo de pintura. Esta marca no se puede usar con ninguna otra marca.
CDRF_DOERASE
El control solo dibujará el fondo.
CDRF_NEWFONT
La aplicación especificó una nueva fuente para el elemento; el control usará la nueva fuente. Para obtener más información sobre cómo cambiar las fuentes, consulte Cambio de fuentes y colores. Esto ocurre cuando dwDrawStage es igual a CDDS_ITEMPREPAINT.
CDRF_NOTIFYITEMDRAW
El control notificará al elemento primario de las operaciones de dibujo relacionadas con elementos. Enviará NM_CUSTOMDRAW códigos de notificación antes y después de dibujar elementos. Esto ocurre cuando dwDrawStage es igual a CDDS_PREPAINT.
CDRF_NOTIFYPOSTERASE
El control notificará al elemento primario después de borrar un elemento. Esto ocurre cuando dwDrawStage es igual a CDDS_PREPAINT.
CDRF_NOTIFYPOSTPAINT
El control enviará un código de notificación NM_CUSTOMDRAW cuando se complete el ciclo de pintura de todo el control. Esto ocurre cuando dwDrawStage es igual a CDDS_PREPAINT.
CDRF_NOTIFYSUBITEMDRAW
La aplicación recibirá un código de notificación NM_CUSTOMDRAW con dwDrawStage establecido en CDDS_ITEMPREPAINT | CDDS_SUBITEM antes de dibujar cada subelemento de vista de lista. A continuación, puede especificar la fuente y el color de cada subelemento por separado o devolver CDRF_DODEFAULT para el procesamiento predeterminado. Esto ocurre cuando dwDrawStage es igual a CDDS_ITEMPREPAINT.
CDRF_SKIPDEFAULT
La aplicación ha dibujado el elemento manualmente. El control no dibujará el elemento. Esto ocurre cuando dwDrawStage es igual a CDDS_ITEMPREPAINT.
CDRF_SKIPPOSTPAINT
El control no dibujará el rectángulo de foco alrededor de un elemento.

Observaciones

Actualmente, los siguientes controles admiten la funcionalidad de dibujo personalizada: encabezado, vista de lista, barra de herramientas, información sobre herramientas, barra de seguimiento y vista de árbol. El dibujo personalizado también se admite para los controles de botón si tiene un manifiesto de aplicación para asegurarse de que Comctl32.dll versión 6 está disponible.

Si este mensaje se controla en un procedimiento de diálogo, debe establecer el valor devuelto como parte de los datos de la ventana antes de devolver TRUE. Para obtener más información, vea DialogProc.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado
Commctrl.h

Vea también

Conceptual

Dibujo personalizado