Struttura NMCUSTOMDRAW (commctrl.h)
Contiene informazioni specifiche di un codice di notifica NM_CUSTOMDRAW .
Sintassi
typedef struct tagNMCUSTOMDRAWINFO {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD_PTR dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
Members
hdr
Tipo: NMHDR
Struttura NMHDR che contiene informazioni su questo codice di notifica.
dwDrawStage
Tipo: DWORD
Fase di disegno corrente. Si tratta di uno dei valori seguenti.
Valore | Significato |
---|---|
|
|
|
Al termine del ciclo di cancellazione. |
|
Al termine del ciclo di pittura. |
|
Prima dell'inizio del ciclo di cancellazione. |
|
Prima dell'inizio del ciclo di pittura. |
|
|
|
Indica che i membri dwItemSpec, uItemState e lItemlParam sono validi. |
|
Dopo aver cancellato un elemento. |
|
Dopo aver disegnato un elemento. |
|
Prima che venga cancellato un elemento. |
|
Prima di disegnare un elemento. |
|
Flag combinato con CDDS_ITEMPREPAINT o CDDS_ITEMPOSTPAINT se viene disegnato un elemento secondario. Verrà impostato solo se CDRF_NOTIFYITEMDRAW viene restituito da CDDS_PREPAINT . |
hdc
Tipo: HDC
Handle per il contesto del dispositivo del controllo. Usare questo HDC per eseguire tutte le funzioni GDI.
rc
Tipo: RECT
Struttura RECT che descrive il rettangolo di delimitamento dell'area da disegnare. Questo membro viene inizializzato solo dalla notifica di CDDS_ITEMPREPAINT. Versione 5.80. Questo membro viene inizializzato anche dalla notifica di CDDS_PREPAINT.
dwItemSpec
Tipo: DWORD_PTR
Numero di elemento. Ciò che è contenuto in questo membro dipenderà dal tipo di controllo che invia la notifica. Vedere il riferimento alla notifica di NM_CUSTOMDRAW per il controllo specifico per determinare cosa, se qualcosa, è contenuto in questo membro.
uItemState
Tipo: UINT
Stato dell'elemento corrente. Questo valore è una combinazione dei flag seguenti.
Valore | Significato |
---|---|
|
L'elemento è selezionato. |
|
L'elemento è nello stato predefinito. |
|
L'elemento è disabilitato. |
|
L'elemento è attivo. |
|
L'elemento è inattivo. |
|
L'elemento è attualmente sotto il puntatore ("hot"). |
|
L'elemento è in uno stato non determinato. |
|
L'elemento è contrassegnato. Il significato di questo è determinato dall'implementazione. |
|
L'elemento è selezionato.
Nota Questo flag non funziona correttamente per i controlli di visualizzazione elenco disegnati dal proprietario che hanno lo stile LVS_SHOWSELALWAYS . Per questi controlli, è possibile determinare se un elemento è selezionato usando LVM_GETITEMSTATE (o ListView_GetItemState) e verificando il flag di LVIS_SELECTED .
|
|
Versione 6.0.L'elemento mostra i suoi segnali di tastiera. Si noti che Comctl32 versione 6 non è ridistribuibile. sistemi operativi. Per usare Comctl32.dll versione 6, specificarlo nel manifesto. Per altre informazioni sui manifesti, vedere Abilitazione degli stili di visualizzazione. |
|
L'elemento fa parte di un controllo attualmente sotto il puntatore del mouse ("caldo"), ma l'elemento non è "caldo". Il significato di questo è determinato dall'implementazione. |
|
L'elemento fa parte di un splitbutton attualmente sotto il puntatore del mouse ("caldo"), ma l'elemento non è "caldo". Il significato di questo è determinato dall'implementazione. |
|
L'elemento è attualmente la destinazione di rilascio di un'operazione di trascinamento. |
lItemlParam
Tipo: LPARAM
Dati dell'elemento definiti dall'applicazione.
Commenti
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. Quando il membro dwDrawStage è uguale a CDDS_PREPAINT e CDDS_PREERASE, alcuni controlli inviano prima il messaggio CDDS_PREERASE e si prevede che il valore restituito indichi quali messaggi successivi verranno inviati. Per un esempio di codice che illustra gli stati e le fasi di disegno, vedere Personalizzazione dell'aspetto di un controllo tramite disegno personalizzato.
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | commctrl.h |