WM_MEASUREITEM message

Envoyé à la fenêtre propriétaire d’une zone de liste déroulante, d’une zone de liste, d’un contrôle d’affichage de liste ou d’un élément de menu lors de la création du contrôle ou du menu.

Une fenêtre reçoit ce message via sa fonction WindowProc.

WM_MEASUREITEM

    WPARAM wParam;
    LPARAM lParam; 

Paramètres

wParam

Contient la valeur du membre CtlID de la structure MEASUREITEMSTRUCT pointée vers le paramètre lParam . Cette valeur identifie le contrôle qui a envoyé le message WM_MEASUREITEM . Si le message a été envoyé par un menu, ce paramètre est égal à zéro. Si la valeur est différente de zéro ou si la valeur est égale à zéro et que la valeur du membre CtlType du MEASUREITEMSTRUCT pointé par lParamn’est pas ODT_MENU, le message a été envoyé par une zone de liste modifiable ou par une zone de liste. Si la valeur n’est pas nulle et que la valeur du membre itemID du MEASUREITEMSTRUCT pointé par lParam est (UINT) 1, le message a été envoyé par un champ de modification combo.

lParam

Pointeur vers une structure MEASUREITEMSTRUCT qui contient les dimensions du contrôle ou de l’élément de menu dessiné par le propriétaire.

Valeur retournée

Si une application traite ce message, elle doit retourner TRUE.

Remarques

Lorsque la fenêtre propriétaire reçoit le message WM_MEASUREITEM , le propriétaire remplit la structure MEASUREITEMSTRUCT pointée vers le paramètre lParam du message et retourne ; cela informe le système des dimensions du contrôle. Si une zone de liste ou une zone de liste déroulante est créée avec le style LBS_OWNERDRAWVARIABLE ou CBS_OWNERDRAWVARIABLE , ce message est envoyé au propriétaire pour chaque élément du contrôle ; sinon, ce message est envoyé une seule fois.

Le système envoie le message WM_MEASUREITEM à la fenêtre propriétaire des zones de liste modifiables et des zones de liste créées avec le style OWNERDRAWFIXED avant d’envoyer le message WM_INITDIALOG . Par conséquent, lorsque le propriétaire reçoit ce message, le système n’a pas encore déterminé la hauteur et la largeur de la police utilisée dans le contrôle ; les appels de fonction et les calculs nécessitant ces valeurs doivent se produire dans la fonction main de l’application ou de la bibliothèque.

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 (include Windows.h)

Voir aussi

Référence

MEASUREITEMSTRUCT

Autres ressources

WM_INITDIALOG