Condividi tramite


Struttura DRAWITEMSTRUCT

La struttura di DRAWITEMSTRUCT vengono fornite informazioni che la finestra proprietaria deve disporre per determinare come disegnare un controllo o una voce di menu creato dal proprietario.

typedef struct tagDRAWITEMSTRUCT { 
   UINT CtlType; 
   UINT CtlID; 
   UINT itemID; 
   UINT itemAction; 
   UINT itemState; 
   HWND hwndItem; 
   HDC hDC; 
   RECT rcItem; 
   DWORD itemData; 
} DRAWITEMSTRUCT;

Parametri

  • CtlType
    Tipo di controllo. I valori per i tipi di controllo sono le seguenti:

    • Pulsante creato dal proprietario diODT_BUTTON

    • Casella combinata creata dal proprietario diODT_COMBOBOX

    • Casella di riepilogo creata dal proprietario diODT_LISTBOX

    • Menu creato dal proprietario diODT_MENU

    • Controllo visualizzazione elenco diODT_LISTVIEW

    • Controllo statico creato dal proprietario diODT_STATIC

    • Controllo Struttura a schede diODT_TAB

  • CtlID
    ID del controllo di una casella combinata, una casella di riepilogo, o un pulsante. Questo membro non viene utilizzato per visualizzare un menu.

  • itemID
    La voce di menu ID per un menu o l'indice dell'elemento in una casella di riepilogo o di una casella combinata. Per una casella di riepilogo o di una casella combinata vuota, questo membro è un valore negativo, che consente l'applicazione disegnare solo il rettangolo di attivazione alle coordinate specificate dal membro di rcItem anche se non esistono elementi del controllo. L'utente può essere visualizzato se la casella di riepilogo o di una casella combinata ha lo stato attivo per l'input. L'impostazione di bit del membro di itemAction determina se il rettangolo deve essere disegnato come se la casella di riepilogo o di una casella combinata abbia lo stato attivo per l'input.

  • itemAction
    Definisce l'azione di disegno richiesta. Si tratta di uno o più dei seguenti bit:

    • ODA_DRAWENTIRE questo bit è impostato in intere necessità di controllo essere disegnato.

    • ODA_FOCUS questo bit è impostato quando il controllo riceve o perde lo stato attivo per l'input. Il membro di itemState deve essere controllato per determinare se il controllo ha lo stato attivo.

    • ODA_SELECT questo bit è impostato solo quando lo stato di selezione è stata modificata. Il membro di itemState deve essere controllato per determinare il nuovo stato di selezione.

  • itemState
    Specifica lo stato di visualizzazione dell'elemento dopo che l'azione corrente di disegno viene eseguito. Ovvero se una voce di menu sia disponibile, il flag di stato ODS_GRAYED verrà impostato. I flag di stato sono le seguenti:

    • ODS_CHECKED questo bit è impostato se la voce di menu sia selezionata. Questo bit è utilizzato solo in un menu.

    • ODS_DISABLED questo bit è impostato se l'elemento deve essere disegnato come disabled.

    • ODS_FOCUS questo bit è impostato se l'elemento ha lo stato attivo per l'input.

    • ODS_GRAYED questo bit è impostato se l'elemento deve essere visualizzato in grigio. Questo bit è utilizzato solo in un menu.

    • ODS_SELECTED questo bit è impostato se lo stato dell'elemento selezionato.

    • ODS_COMBOBOXEDIT il disegno viene eseguito nel campo di selezione (controllo di modifica) di una casella combinata di ownerdrawn.

    • ODS_DEFAULT l'elemento è l'elemento predefinito.

  • hwndItem
    Specifica un handle di finestra di controllo per le caselle combinate, caselle di riepilogo e i pulsanti. Viene specificato che il menu (HMENU) contenente l'elemento dei menu.

  • hDC
    Identifica un contesto di dispositivo. Questo contesto di dispositivo deve essere utilizzato quando si eseguono operazioni di disegno sul controllo.

  • rcItem
    Un rettangolo nel contesto di dispositivo specificato dal membro di hDC che definisce i limiti del controllo da creare. Le finestre automaticamente taglia qualsiasi operazione di disegno personalizzato nel contesto di dispositivo per le caselle combinate, caselle di riepilogo e pulsanti, ma non elimina le voci di menu. Il disegno voci di menu, il proprietario non deve disegnare oltre i limiti del rettangolo definito dal membro di rcItem.

  • itemData
    Per una casella combinata o di riepilogo, questo contiene il valore passato alla casella di riepilogo da una delle seguenti operazioni:

    Per un menu, questo contiene il valore passato al menu da una delle operazioni seguenti:

Note

La finestra proprietaria del controllo di una voce di menu o creato dal proprietario riceve un puntatore a questa struttura come parametro di lParam del messaggio di WM_DRAWITEM.

Requisiti

Intestazione: winuser.h

Vedere anche

Riferimenti

CWnd::OnDrawItem

Altre risorse

Strutture, stili, callback e mappe messaggi