STRUCTURE DRAWITEMSTRUCT (winuser.h)
Fournit des informations que la fenêtre propriétaire utilise pour déterminer comment peindre un contrôle ou un élément de menu dessiné par le propriétaire. La fenêtre propriétaire du contrôle ou de l’élément de menu dessiné par le propriétaire reçoit un pointeur vers cette structure en tant que paramètre lParam du message WM_DRAWITEM .
Syntaxe
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;
Membres
CtlType
Type : UINT
Type du contrôle. Ce membre peut être l’une des valeurs suivantes. Consultez la section Notes.
CtlID
Type : UINT
Identificateur de la zone de liste modifiable, de la zone de liste, du bouton ou du contrôle statique. Ce membre n’est pas utilisé pour un élément de menu.
itemID
Type : UINT
Identificateur d’élément de menu pour un élément de 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 peut être -1
. Cela permet à l’application de dessiner uniquement le rectangle de focus aux coordonnées spécifiées par le membre rcItem , même s’il n’y a aucun élément dans le contrôle. Cela indique à l’utilisateur si la zone de liste ou la zone de liste déroulante a le focus. La façon dont les bits sont définis dans le membre itemAction détermine si le rectangle doit être dessiné comme si la zone de liste ou la zone de liste modifiable avait le focus.
itemAction
Type : UINT
Action de dessin requise. Ce membre peut être une ou plusieurs des valeurs.
itemState
Type : UINT
État visuel de l'élément après application du dessin actuel. Ce membre peut être une combinaison des valeurs indiquées dans le tableau suivant.
hwndItem
Type : HWND
Handle du contrôle pour les zones de liste déroulante, les zones de liste, les boutons et les contrôles statiques. Pour les menus, ce membre est un handle du menu qui contient l’élément.
hDC
Type : HDC
Handle vers un contexte de périphérique ; ce contexte de périphérique doit être utilisé lors de l'exécution des opérations de dessin sur le contrôle.
rcItem
Type : RECT
Rectangle qui définit les limites du contrôle à dessiner. Ce rectangle se trouve dans le contexte de l’appareil spécifié par le membre hDC . Le système extrait automatiquement tout ce que la fenêtre propriétaire dessine dans le contexte de l’appareil pour les zones de liste déroulante, les zones de liste et les boutons, mais ne coupe pas les éléments de menu. Lors du dessin d’éléments de menu, la fenêtre propriétaire ne doit pas dessiner en dehors des limites du rectangle défini par le membre rcItem .
itemData
Type : ULONG_PTR
Valeur définie par l’application associée à l’élément de menu. Pour un contrôle, ce paramètre spécifie la valeur affectée en dernier à la zone de liste ou à la zone de liste déroulante par le message LB_SETITEMDATA ou CB_SETITEMDATA . Si la zone de liste ou la zone de liste déroulante a le style LBS_HASSTRINGS ou CBS_HASSTRINGS , cette valeur est initialement zéro. Sinon, cette valeur est initialement la valeur qui a été passée à la zone de liste ou à la zone de liste déroulante dans le paramètre lParam de l’un des messages suivants :
Si CtlType est ODT_BUTTON ou ODT_STATIC, itemData est égal à zéro.Remarques
Certains types de contrôle, tels que status barres, ne définissent pas la valeur de CtlType.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | winuser.h (inclure Windows.h) |
Voir aussi
Référence