Vous pouvez trouver ce que le maximum est pour votre contrôle en appelant CEdit::GetLimitText() sur votre contrôle. Cela renvoie la taille maximale des données de caractères en octets. Vous pouvez modifier la taille maximale à l'aide de la fonction CEdit::SetLimitText().
La fonction SetLimitText() équivaut à l'envoi d'un message EM_SETLIMITTEXT. La documentation de ce message donne les tailles maximales qui peuvent être utilisées, mais puisque ceux-ci sont des liens MSDN qui seront probablement cassés demain, je vais copier les informations pertinentes :)
Le paramètre UINT est interprété comme:
Le nombre maximal de TCHAR que l'utilisateur peut entrer. Pour le texte ANSI, il s'agit du nombre d'octets ; pour le texte Unicode, c'est le nombre de caractères. Ce numéro n'inclut pas le caractère nul . Rich edit controls: Si ce paramètre est zéro, la longueur du texte est définie sur 64 000 caractères.
contrôles Modifier sur Windows NT/2000/XP: Si ce paramètre est égal à zéro, le texte longueur est définie sur les caractères 0x7FFFFFFE pour les contrôles d'édition unique en ligne ou -1 pour les contrôles de saisie multilignes.
contrôles Modifier sur Windows 95/98/Me: Si ce paramètre est égal à zéro, le texte longueur est définie sur les caractères 0x7FFE pour contrôles d'édition unique ligne ou 0xFFFF pour les contrôles d'édition multilignes.
En outre, à partir de la section Remarques:
Avant EM_SETLIMITTEXT est appelée, la limite par défaut pour la quantité de texte un utilisateur peut entrer dans un contrôle d'édition est 32767 caractères.
contrôles Modifier sur Windows NT/2000/XP: Pour les contrôles d'édition une seule ligne, la limite de texte est soit 0x7FFFFFFE octets ou la valeur du paramètre wParam, la plus petite valeur.Pour multilignes contrôles d'édition, cette valeur est soit -1 octets ou la valeur du paramètre wParam , selon le plus petit.
contrôles Modifier sur Windows 95/98/Me: Pour contrôles d'édition unique ligne, le texte limite est soit octets 0x7FFE ou la valeur du paramètre wParam, la plus petite valeur. Pour multilignes contrôles d'édition, cette valeur est soit octets 0xFFFF ou la valeur du paramètre wParam , selon le plus petit.
Je suppose qu'ils voulaient dire 0xFFFFFFFF au lieu de -1 dans le deuxième alinéa, ...
tests réels bat la documentation à chaque fois! – BoltBait