Struttura DRAWITEMSTRUCT (winuser.h)

Fornisce informazioni usate dalla finestra del proprietario per determinare come disegnare un controllo o una voce di menu disegnata dal proprietario. La finestra proprietario del controllo o della voce di menu disegnata dal proprietario riceve un puntatore a questa struttura come parametro lParam del messaggio di WM_DRAWITEM .

Sintassi

typedef struct tagDRAWITEMSTRUCT {
  UINT      CtlType;
  UINT      CtlID;
  UINT      itemID;
  UINT      itemAction;
  UINT      itemState;
  HWND      hwndItem;
  HDC       hDC;
  RECT      rcItem;
  ULONG_PTR itemData;
} DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT;

Members

CtlType

Tipo: UINT

Tipo di controllo. Questo membro può essere uno dei valori seguenti. Vedere la sezione Osservazioni.

Valore Significato
ODT_BUTTON
Pulsante disegnato dal proprietario
ODT_COMBOBOX
Casella combinata disegnata dal proprietario
ODT_LISTBOX
Casella di riepilogo disegnata dal proprietario
ODT_LISTVIEW
Controllo visualizzazione elenco
ODT_MENU
Voce di menu disegnata dal proprietario
ODT_STATIC
Controllo statico disegnato dal proprietario
ODT_TAB
Controllo Tab

CtlID

Tipo: UINT

Identificatore della casella combinata, della casella di riepilogo, del pulsante o del controllo statico. Questo membro non viene usato per una voce di menu.

itemID

Tipo: UINT

Identificatore della voce di menu per una voce di menu o l'indice dell'elemento in una casella di riepilogo o in una casella combinata. Per una casella di riepilogo vuota o una casella combinata, questo membro può essere -1. Ciò consente all'applicazione di disegnare solo il rettangolo di messa a fuoco alle coordinate specificate dal membro rcItem anche se non sono presenti elementi nel controllo. Indica all'utente se la casella di riepilogo o la casella combinata ha lo stato attivo. Il modo in cui i bit vengono impostati nel membro itemAction determina se il rettangolo deve essere disegnato come se la casella di riepilogo o la casella combinata abbia lo stato attivo.

itemAction

Tipo: UINT

Azione di disegno necessaria. Questo membro può essere uno o più dei valori.

Valore Significato
ODA_DRAWENTIRE
L'intero controllo deve essere disegnato.
ODA_FOCUS
Il controllo ha perso o ottenuto lo stato attivo della tastiera. Il membro itemState deve essere controllato per determinare se il controllo ha lo stato attivo.
ODA_SELECT
Lo stato di selezione è cambiato. Il membro itemState deve essere controllato per determinare il nuovo stato di selezione.

itemState

Tipo: UINT

Lo stato di visualizzazione dell'elemento dopo l'esecuzione dell'operazione corrente. Questo membro può essere una combinazione dei valori illustrati nella tabella seguente.

Valore Significato
ODS_CHECKED
La voce di menu deve essere selezionata. Questo bit viene usato solo in un menu.
ODS_COMBOBOXEDIT
Il disegno si svolge nel campo di selezione (controllo di modifica) di una casella combinata disegnata dal proprietario.
ODS_DEFAULT
L'elemento è l'elemento predefinito.
ODS_DISABLED
L'elemento deve essere disegnato come disabilitato.
ODS_FOCUS
L'elemento ha lo stato attivo della tastiera.
ODS_GRAYED
L'elemento deve essere grigio. Questo bit viene usato solo in un menu.
ODS_HOTLIGHT
L'elemento viene rilevato a caldo, ovvero l'elemento verrà evidenziato quando il mouse si trova nell'elemento.
ODS_INACTIVE
L'elemento è inattivo e la finestra associata al menu è inattiva.
ODS_NOACCEL
Il controllo viene disegnato senza i segnali dell'acceleratore di tastiera.
ODS_NOFOCUSRECT
Il controllo viene disegnato senza indicatori di stato attivo.
ODS_SELECTED
Lo stato della voce di menu è selezionato.

hwndItem

Tipo: HWND

Handle per il controllo per caselle combinate, caselle di riepilogo, pulsanti e controlli statici. Per i menu, questo membro è un handle per il menu che contiene l'elemento.

hDC

Tipo: HDC

Handle a un contesto di dispositivo; tale contesto deve essere utilizzato quando si eseguono operazioni di disegno sul controllo.

rcItem

Tipo: RECT

Rettangolo che definisce i limiti del controllo da creare. Questo rettangolo si trova nel contesto del dispositivo specificato dal membro hDC . Il sistema ritaglia automaticamente qualsiasi elemento che la finestra del proprietario disegna nel contesto del dispositivo per caselle combinate, caselle di riepilogo e pulsanti, ma non ritaglia le voci di menu. Quando si disegnano le voci di menu, la finestra del proprietario non deve disegnare all'esterno dei limiti del rettangolo definito dal membro rcItem .

itemData

Tipo: ULONG_PTR

Valore definito dall'applicazione associato alla voce di menu. Per un controllo, questo parametro specifica l'ultimo valore assegnato alla casella di riepilogo o alla casella combinata dal messaggio LB_SETITEMDATA o CB_SETITEMDATA . Se la casella di riepilogo o la casella combinata ha lo stile LBS_HASSTRINGS o CBS_HASSTRINGS , questo valore è inizialmente zero. In caso contrario, questo valore è inizialmente il valore passato alla casella di riepilogo o alla casella combinata nel parametro lParam di uno dei messaggi seguenti:

Se CtlType è ODT_BUTTON o ODT_STATIC, itemData è zero.

Commenti

Alcuni tipi di controllo, ad esempio barre di stato, non impostano il valore di CtlType.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winuser.h (include Windows.h)

Vedi anche

CB_ADDSTRING

CB_INSERTSTRING

CB_SETITEMDATA

LB_ADDSTRING

LB_INSERTSTRING

LB_SETITEMDATA

Riferimento

WM_DRAWITEM