CEdit contrôle de la longueur maximale? (en nombre de caractères qu'il peut afficher)
Quelle est la longueur maximale de la chaîne de texte contenu dans un CEdit contrôle MFC? Je reçois un bip lorsque vous essayez d'ajouter un caractère après le caractère 30001 est-ce documenté nulle part? Puis-je afficher des textes plus longs dans un CEdit? Dois-je utiliser une autre commande?
"Programmeur informatique", dit le bas ci-dessous, le texte limite de longueur n'est pas la même lorsque l'utilisateur tape comme lorsque nous par programmation à l'ensemble du texte à l'aide de SetWindowText. La limite pour la fixation d'un texte par programmation n'est mentionné nulle part. Le texte par défaut lentgth limite pour l'utilisateur la saisie est erronée. (voir mon post ci-dessous).
Je suppose qu'après j'appelle pEdit->SetLimitText(0) la limite de deux par programmation et la saisie de l'utilisateur de la longueur du texte est 7FFFFFFE octets. Suis-je le droit?
Dans vista, lorsque vous collez du texte de plus de 40000 caractères dans un CEdit, il ne répond pas. Ce n'est pas grave si j'ai appelé SetLimitText(100000) précédemment.
OriginalL'auteur rec | 2008-10-07
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la documentation est mauvais quand nous parlons de la taille par défaut pour une seule ligne de CEdit contrôle dans vista.
J'ai couru ce code:
les états de documentation:
qui est apparemment mal.
OriginalL'auteur rec
Vous pouvez découvrir ce que le maximum est de votre contrôle en appelant CEdit::GetLimitText() sur votre contrôle. Ceci renvoie à la taille maximale pour le personnage de données en octets. Vous pouvez modifier la taille maximale à l'aide de la CEdit::SetLimitText() fonction.
La SetLimitText fonction() est équivalent à l'envoi d'un EM_SETLIMITTEXT message. La documentation pour ce message qui donne le maximum de tailles qui peuvent être utilisés, mais puisque ceux-ci sont MSDN liens qui seront probablement cassé d'ici demain, je vais copier les informations utiles 🙂
Le paramètre UINT est interprété comme:
Également, dans la section Remarques:
Je suppose qu'ils voulaient dire 0xFFFFFFFF au lieu de -1 dans le deuxième alinéa, là...
OriginalL'auteur ryan_s
"(en nombre de caractères qu'il peut afficher)" != "lorsque vous essayez d'ajouter un caractère".
"lorsque vous essayez d'ajouter un caractère" == "Le nombre maximum de TCHARs l'utilisateur peut entrer"
à moins que tu veux dire par programmation d'essayer d'ajouter un personnage.
"0x7FFFFFFE caractères" != "0x7FFFFFFE octets"
sauf parfois, un fait qui la cité MSDN texte comprend parfois.
Je parie que personne ne connaît la réponse à la question d'origine. Mais "0x7FFFFFFE octets" est probablement l'une des nombreuses limites.
OriginalL'auteur Windows programmer