Coucou Cyrille, Quentin et tous,

Lors de l'application d'une sélection, que ce soit avec la souris, le clavier, ou même l'API, en utilisant le message EM_SETSEL, on peut commencer par la fin.

Mais après cela, Windows définit la valeur la plus petite comme étant le début de la sélection, et la valeur la plus élevée comme étant la fin.

C'est ce qui est d'ailleurs décrit ici dans la description du message EM_SETSEL sur la MSDN :

https://msdn.microsoft.com/fr-fr/library/windows/desktop/bb761661(v=vs.85).aspx

Début de citation
Remarks
The start value can be greater than the end value. The lower of the two values specifies the character position of the first character in the selection. The higher value specifies the position of the first character beyond the selection. The start value is the anchor point of the selection, and the end value is the active end. If the user uses the SHIFT key to adjust the size of the selection, the active end can move but the anchor point remains the same.
Fin de citation

Bien amicalement,
Abdel.


Le 06/03/2017 à 17:35, QuentinC a écrit :
Bonsoir,

Pour répondre à Cyril, obtenir la sélection dans une zone de texte se fait grâce à des appels à l'API windows directement. En l'occurence pour celui-là il faut envoyer le message EM_GETSEL au contrôle EDIT visé. ET c'est bien cet appel-là qui, quelque soit le sens de ma sélection, fait toujours en sorte que le point de départ soit toujours plus petit que le point d'arrivée. Donc je ne peux rien faire.

C'est stupide quand on y pense, car en interne, windows est bien obligé de distinguer les deux, car sinon la sélection au clavier et même à la souris ne fonctionnerait pas correctement dans tous les cas; mais il ne le fait pas dans son API publique; probablement pour des raisons historiques car certaines applications de 10, 15 voire 20 ans partent du principe que l'assertion est toujours vérifiée.
Progliste :
Pour se désinscrire de la liste : mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.




Progliste :
Pour se désinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.
        
        

Répondre à