NM_CUSTOMDRAW codice di notifica

Notifica alla finestra padre di un controllo sulle operazioni di disegno personalizzate. Questo codice di notifica viene inviato sotto forma di messaggio di 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

Parametri

lParam

Puntatore a una struttura personalizzata correlata al disegno che contiene informazioni sull'operazione di disegno. L'elenco seguente specifica i controlli e le relative strutture associate.

Control Struttura di disegno personalizzata
Barra di ripristino, barra di traccia e intestazione NMCUSTOMDRAW
Visualizzazione elenco NMLVCUSTOMDRAW
Descrizione comando NMTTCUSTOMDRAW
Visualizzazione struttura NMTVCUSTOMDRAW
Barra degli strumenti NMTBCUSTOMDRAW

Valore restituito

Il valore restituito dall'applicazione dipende dalla fase di disegno corrente. Il membro dwDrawStage della struttura NMCUSTOMDRAW associata contiene un valore che specifica la fase di disegno. È necessario restituire uno dei valori seguenti.

Codice restituito Descrizione
CDRF_DODEFAULT
Il controllo disegna se stesso. Non invierà codici di notifica aggiuntivi NM_CUSTOMDRAW per questo ciclo di vernice. Questo flag non può essere usato con qualsiasi altro flag.
CDRF_DOERASE
Il controllo disegna solo lo sfondo.
CDRF_NEWFONT
L'applicazione ha specificato un nuovo tipo di carattere per l'elemento; il controllo userà il nuovo tipo di carattere. Per altre informazioni sulla modifica dei tipi di carattere, vedere Modifica di tipi di carattere e colori. Ciò si verifica quando dwDrawStage è uguale a CDDS_ITEMPREPAINT.
CDRF_NOTIFYITEMDRAW
Il controllo notifica all'elemento padre di tutte le operazioni di disegno correlate all'elemento. Invierà NM_CUSTOMDRAW codici di notifica prima e dopo i disegni. Ciò si verifica quando dwDrawStage è uguale a CDDS_PREPAINT.
CDRF_NOTIFYPOSTERASE
Il controllo invia una notifica all'elemento padre dopo l'cancellazione di un elemento. Ciò si verifica quando dwDrawStage è uguale a CDDS_PREPAINT.
CDRF_NOTIFYPOSTPAINT
Il controllo invierà un codice di notifica NM_CUSTOMDRAW al completamento del ciclo di disegno per l'intero controllo. Ciò si verifica quando dwDrawStage è uguale a CDDS_PREPAINT.
CDRF_NOTIFYSUBITEMDRAW
L'applicazione riceverà un codice di notifica NM_CUSTOMDRAW con dwDrawStage impostato su CDDS_ITEMPREPAINT | CDDS_SUBITEM prima che venga disegnato ogni sottoitem di visualizzazione elenco. È quindi possibile specificare il tipo di carattere e il colore per ogni elemento secondario separatamente o restituire CDRF_DODEFAULT per l'elaborazione predefinita. Ciò si verifica quando dwDrawStage è uguale a CDDS_ITEMPREPAINT.
CDRF_SKIPDEFAULT
L'applicazione ha disegnato manualmente l'elemento. Il controllo non disegnare l'elemento. Ciò si verifica quando dwDrawStage è uguale a CDDS_ITEMPREPAINT.
CDRF_SKIPPOSTPAINT
Il controllo non disegnare il rettangolo di messa a fuoco intorno a un elemento.

Commenti

Attualmente, i controlli seguenti supportano funzionalità di disegno personalizzate: intestazione, visualizzazione elenco, barra degli strumenti, barra degli strumenti e visualizzazione albero. Il disegno personalizzato è supportato anche per i controlli pulsante se si dispone di un manifesto dell'applicazione per assicurarsi che sia disponibile Comctl32.dll versione 6.

Se questo messaggio viene gestito in una procedura di dialogo, è necessario impostare il valore restituito come parte dei dati della finestra prima di restituire TRUE. Per altre informazioni, vedere DialogProc.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Intestazione
Commctrl.h

Vedi anche

Informazioni concettuali

Disegno personalizzato