Je suis en train de programmer une application en MFC (ne demandez pas) et j'ai une boîte CEdit qui contient un nombre. Quand ce numéro est édité, je voudrais agir sur le changement, et puis remplacer le signe d'insertion où il était avant que j'ai agi sur le changement - si l'utilisateur était juste avant le "." dans "35.40", je voudrais qu'il soit encore placé avant le point s'il le change en "345.40". J'attrape actuellement le message CHANGE, mais cela peut être changé en autre chose (UPDATE?). Comment puis-je accomplir cela?Comment réserver la position du curseur dans le contrôle CEdit?
1
A
Répondre
1
Utilisez la fonction GetSel() avant de modifier pour stocker l'emplacement du curseur, puis utilisez SelSel() pour le rétablir. Vous pouvez utiliser ces fonctions pour obtenir/définir l'emplacement du curseur, et pas seulement pour obtenir/définir la sélection effectuée par l'utilisateur.
0
Pourriez-vous expliquer la raison pour laquelle vous souhaitez changer le comportement de la boîte CEdit? En tant qu'utilisateur, j'aurais un problème avec le caret étant changé chaque fois que j'entre un personnage. Ou est-ce ce que vous voulez éviter si vous modifiez cette valeur par programme?
Questions connexes
- 1. Trouver la position du curseur
- 2. Récupère l'identifiant des liens pour la position actuelle du curseur dans le contrôle webrowser
- 3. position du curseur du reglage après suppression
- 4. Trouver la position du curseur dans un TextBox
- 5. Comment puis-je obtenir la position du curseur/curseur dans un élément d'entrée HTML?
- 6. Obtenir la position du curseur dans une zone de texte
- 7. position du curseur lors de l'actualisation de la page
- 8. Ajout d'un deuxième curseur au contrôle du curseur dans WPF
- 9. jtextfield position du curseur par défaut
- 10. Chaîne d'insertion à la position du curseur de UITextField
- 11. Winforms: Emplacement de l'écran de la position du curseur
- 12. jQuery Définir la position de la souris (pas la position du curseur)
- 13. Réserver une partie du bureau
- 14. Comment changer la position du curseur de la souris dans OpenGL/Glut?
- 15. CEdit contrôle la longueur maximale? (en caractères qu'il peut afficher)
- 16. Visual Studio Addin - 1. Comment ajouter un menu contextuel? 2. Comment obtenir la position du curseur
- 17. Comment faire défiler correctement CEdit?
- 18. Comment puis-je calculer le numéro de ligne par rapport à la position du curseur dans TextArea avec Flex?
- 19. Comment puis-je gérer la touche Retour dans un contrôle CEdit?
- 20. Conserver la position du curseur dans l'éditeur VS2008 après "Break All"
- 21. validant CEdit sans sous-classe
- 22. Afficher la position du curseur dans le champ texte de Firefox ou redimensionner le champ texte au besoin
- 23. Obtenir et définir la position du curseur dans iframe contentEditable (Firefox)
- 24. Obtention de l'élément sous le curseur de la souris dans un contrôle listview?
- 25. Comment trouver la position d'un curseur dans une zone de texte? C#
- 26. comment obtenir la position de l'écran MS Word à partir du contrôle du ruban?
- 27. MFC: Modification de la couleur de CEdit
- 28. Changer la position d'un contrôle programatically
- 29. UILabel - comment changer la position du texte
- 30. comment contrôler le mouvement du curseur de datagridview en C#
En tant qu'utilisateur, je m'attendrais à ce que le signe d'insertion reste au même endroit. Si vous modifiez la valeur de CEdit avec .SetWindowTextA() par exemple, le curseur est déplacé vers l'avant de la boîte. C'est un moyen d'empêcher cela. – jamuraa