Partager via


DRAWITEMSTRUCT, structure

La structure d' DRAWITEMSTRUCT fournit des informations que la fenêtre propriétaire doit avoir à déterminer comment peindre un contrôle ou un élément de menu owner-drawn.

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

Paramètres

  • CtlType
    Type de contrôle.Les valeurs pour les types de contrôle sont les suivantes :

    • Bouton owner-drawn d'ODT_BUTTON

    • Zone de liste déroulante owner-drawn d'ODT_COMBOBOX

    • Zone de liste owner-drawn d'ODT_LISTBOX

    • Menu owner-drawn d'ODT_MENU

    • Contrôle liste view d'ODT_LISTVIEW

    • Contrôle statique owner-drawn d'ODT_STATIC

    • Contrôle onglet d'ODT_TAB

  • CtlID
    l'ID du contrôle pour une zone de liste déroulante, une zone de liste, ou un bouton.Ce membre n'est pas utilisé pour un menu.

  • itemID
    L'ID d'élément de menu pour un menu ou l'index de l'élément dans une zone de liste ou une zone de liste déroulante.Pour une zone de liste ou une zone de liste déroulante vide, ce membre est une valeur négative, qui permet à l'application de dessiner uniquement le rectangle de focus à des coordonnées spécifiées par le membre de rcItem bien qu'il n'y a aucun élément dans le contrôle.L'utilisateur peut être affiché si la zone de liste ou la zone de liste déroulante a le focus d'entrée.Le paramètre de bits dans le membre d' itemAction détermine si le rectangle doit être dessiné comme si la zone de liste ou la zone de liste déroulante a le focus d'entrée.

  • itemAction
    Définit le dessin requis.Il s'agit d'un ou plusieurs des bits suivants :

    • ODA_DRAWENTIRE ce bit est défini lorsque le contrôle entier doit être dessiné.

    • ODA_FOCUS ce bit est défini lorsque le contrôle a gagné ou perd le focus d'entrée.Le membre d' itemState doit être activé pour déterminer si le contrôle a le focus.

    • ODA_SELECT ce bit est défini lorsque seul l'état de sélection a changé.Le membre d' itemState doit être activé pour déterminer le nouvel état de sélection.

  • itemState
    Spécifie l'état visuel de l'élément après le dessin actuel ait lieu.Autrement dit, si un élément de menu doit être grisé, la balise ODS_GRAYED d'état doit être définie.Les balises d'état sont les suivantes :

    • ODS_CHECKED ce bit est défini si l'élément de menu doit être activé.Ce bit est utilisé uniquement dans un menu.

    • ODS_DISABLED ce bit est défini si l'élément doit être dessiné est désactivé.

    • ODS_FOCUS ce bit est défini si l'élément a le focus d'entrée.

    • ODS_GRAYED ce bit est défini si l'élément doit être grisé.Ce bit est utilisé uniquement dans un menu.

    • ODS_SELECTED ce bit est défini si l'état de l'élément est sélectionné.

    • ODS_COMBOBOXEDIT le dessin a lieu dans le domaine de sélection (contrôle d'édition) d'une zone de liste déroulante d'ownerdrawn.

    • ODS_DEFAULT l'élément est l'élément par défaut.

  • hwndItem
    Spécifie le handle de fenêtre du contrôle pour les zones de liste déroulante, des zones de liste, les boutons et.Spécifie le handle du menu (HMENU) qui contient l'élément pour les menus.

  • hDC
    Identifie un contexte de périphérique.Ce contexte de périphérique doit être utilisé pour exécuter des opérations de dessin sur le contrôle.

  • rcItem
    Un rectangle dans le contexte de périphérique spécifié par le membre d' hDC qui définissent les limites du contrôle est dessiné.Les fenêtres découpe automatiquement tout ce que le propriétaire dessine dans le contexte de périphérique pour les zones de liste déroulante, des zones de liste, les boutons et, mais il ne découpe pas des éléments de menu.Lorsque vous dessinez des éléments de menu, le propriétaire ne doit pas dessiner en dehors de les limites du rectangle défini par le membre de rcItem .

  • itemData
    Pour une zone de liste déroulante ou une zone de liste, ce membre contient la valeur passée à la zone de liste par un des éléments suivants :

    Pour un menu, ce membre contient la valeur passée au menu par un des éléments suivants :

Notes

La fenêtre propriétaire du contrôle ou de l'élément de menu owner-drawn reçoit un pointeur à cette structure comme paramètre d' lParam du message d' WM_DRAWITEM .

Configuration requise

Header: winuser.h

Voir aussi

Référence

CWnd::OnDrawItem

Autres ressources

Structures, styles, rappels, et les tables des messages