WM_GETTEXTLENGTH message

Détermine la longueur, en caractères, du texte associé à une fenêtre.

#define WM_GETTEXTLENGTH                0x000E

Paramètres

wParam

Ce paramètre n’est pas utilisé et doit être égal à zéro.

lParam

Ce paramètre n’est pas utilisé et doit être égal à zéro.

Valeur retournée

Type : LRESULT

La valeur de retour correspond à la longueur du texte en caractères, sans compter le caractère null de fin.

Notes

Pour un contrôle d’édition, le texte à copier est le contenu du contrôle d’édition. Pour une zone de liste déroulante, le texte est le contenu de la partie de contrôle d’édition (ou texte statique) de la zone de liste déroulante. Pour un bouton, le texte est le nom du bouton. Pour les autres fenêtres, le texte est le titre de la fenêtre. Pour déterminer la longueur d’un élément dans une zone de liste, une application peut utiliser le message LB_GETTEXTLEN .

Lorsque le message WM_GETTEXTLENGTH est envoyé, la fonction DefWindowProc retourne la longueur, en caractères, du texte. Dans certaines conditions, la fonction DefWindowProc retourne une valeur supérieure à la longueur réelle du texte. Cela se produit avec certains mélanges d’ANSI et d’Unicode, et est dû au système permettant l’existence possible de caractères de jeu de caractères d’octets doubles (DBCS) dans le texte. Toutefois, la valeur de retour sera toujours au moins aussi grande que la longueur réelle du texte ; vous pouvez donc toujours l’utiliser pour guider l’allocation de mémoire tampon. Ce comportement peut se produire lorsqu’une application utilise à la fois des fonctions ANSI et des boîtes de dialogue courantes, qui utilisent Unicode.

Pour obtenir la longueur exacte du texte, utilisez les messages WM_GETTEXT, LB_GETTEXT ou CB_GETLBTEXT , ou la fonction GetWindowText .

L’envoi d’un message WM_GETTEXTLENGTH à un contrôle statique non textuel, tel qu’une image bitmap statique ou un contrôle d’icône statiquec, ne retourne pas de valeur de chaîne. Au lieu de cela, il retourne zéro.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Winuser.h (inclure Windows.h)

Voir aussi

Référence

DefWindowProc

GetWindowText

GetWindowTextLength

WM_GETTEXT

Conceptuel

Windows

Autres ressources

CB_GETLBTEXT

LB_GETTEXT

LB_GETTEXTLEN