La struttura DRAWITEMSTRUCT ha la seguente forma:
typedef struct {tagDRAWITEMSTRUCT
nbsp; UI&NT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
DWORD itemData;
} DRAWITEMSTRUCT
La struttura DRAWITEMSTRUCT fornisce informazioni finestra proprietaria devono avere per determinare come dipingere un controllo dal proprietario o voce di menu. La finestra proprietaria del controllo dal proprietario o voce di menu riceve un puntatore a questa struttura come parametro lParam del messaggio WM_DRAWITEM.
Membri
CtlType
Il tipo di controllo. I valori per i tipi di controllo sono i seguenti:
CtlID
L'ID di controllo per una casella combinata, una casella di riepilogo o un pulsante. Questo membro non viene utilizzato per un menu.
itemID
L'ID della voce di menu per un menu o l'indice dell'elemento in una casella di riepilogo o una casella combinata. Per una casella di riepilogo a vuoto o una casella combinata, questo membro è un valore negativo, che consente all'applicazione di disegnare il rettangolo di attivazione solo in base alle coordinate specificate dal membro rcItem anche se non ci sono articoli nel controllo. L'utente può quindi dimostrare se la casella di riepilogo o una casella combinata ha lo stato attivo per l'input. L'impostazione dei bit nel membro itemAction determina se il rettangolo è trarsi come se la casella di riepilogo o una casella combinata ha ingresso messa a fuoco.
itemAction
Definisce l'azione disegno necessaria. Questo sarà uno o più dei seguenti bit:
itemState
Specifica lo stato dell'elemento dopo l'attuale disegno azione si svolge. Cioè, se una voce di menu è di essere oscurati, ODS_GRAYED verrà impostato il flag di stato. I flag di stato sono i seguenti:
hwndItem
Specifica l'handle della finestra del controllo per pulsanti, caselle di riepilogo e caselle combinate. Specifica l'handle del menu (HMENU) che contiene l'elemento per i menu.
hDC
Identifica un contesto di periferica. Questo contesto di periferica deve essere utilizzato quando si eseguono operazioni di disegno sul controllo.
rcItem
Un rettangolo nel contesto di periferica specificato dal membro hDC che definisce i limiti del controllo da trarre. Windows automaticamente clip nulla che il proprietario disegna nel contesto di periferica per pulsanti, caselle di riepilogo e caselle combinate, ma esso non clip voci di menu. Quando si disegna le voci di menu, il proprietario non deve disegnare fuori dai confini del rettangolo definito dal membro rcItem.
itemData
Per una casella combinata o casella di riepilogo, questo membro contiene il valore che è stato approvato alla casella di riepilogo con uno dei seguenti:
Per un menu, questo membro contiene il valore che è stato passato al menu da uno dei seguenti:
Vedere a&nchenbsp;CWnd::OnDrawItem