Bonjour,
je cherche a récupérer dans mon application qui tourne exclusivement sous windows la selection de la souris ( le texte sélectionné). Quelqu'un pourrait il m'aider. J'ai regardé du côté des hooks mais rien de concluant.
merci d'avance
Bonjour,
je cherche a récupérer dans mon application qui tourne exclusivement sous windows la selection de la souris ( le texte sélectionné). Quelqu'un pourrait il m'aider. J'ai regardé du côté des hooks mais rien de concluant.
merci d'avance
Il n'y a pas de notion de 'texte sélectionné' dans l'OS.... Et c'est pas du tout lié à la souris (plusieurs textes peuvent être selectionnés dans plusieurs fenêtres différentes).
Par contre, certains controles (comme les text-edit) permettent de selectionner du texte. Il faut donc:
- Récupérer le contrôle en question (son HWND).
- Lui demander son contenu, et la position des 'caret'.
Là ou ca devient plus chaud c'est pour les contrôles complexes genre ComboBox, Selection-list, etc... Qui sont en fait composés de plein de sous-controles...
Et rien ne dit que l'implémentation restera la même d'une version de l'OS à l'autre.
Maintenant... la première question qui me viendrait à l'esprit est: Pourqoi diable veux tu faire ca ?
Si on avait un peu plus d'info sur le but recherché, on pourrait peut-etre trouver une solution ad-hoc.
Dans tous les cas, ca n'a rien à voir avec le C++ mais avec Windows.
pourquoi je voudrais faire ça ? pour reproduire le comportement du copier coller linux tout simplement. J'ai cherché un peut partout mais je n'ai rien trouvé qui le fasse.
Donc pour en revenir a ta solution il faudrait que je récupère la fenetre active (GetCurrentWindow ?) puis de récupérer le texte via la position du caret c ça ?
?? Et si tu utilises basiquement les fonctions du presse-papiers ( Clipboard) avec OpenClipBoard GetClipBoardData et autres ?
![]()
Bonjour,
j'ai exactement la même question, avez vous trouvez une solution?
Je pense qu'il parlait du sélectionner avec la souris (copie buffer spécial en plus du presse-papier) et coller avec le bouton du centre.
Quand on est habitué à cette fonction sur Linux, c'est difficile de s'en passer.
Si c'est juste pour faire un copier-coller de texte alors vaut mieux jouer tout simplement avec les messages WM_COPY et WM_PASTE, franchement je ne connais pas plus simple. Pour mettre le texte sélectionné dans un buffer, c'est un peu plus compliqué. Voir tutos.
Partager