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.
D'après mes recherches et infos reçu en MP, il n'est pas possible de récupérer ces textes, car suivant chaque contrôle, il y a des messages différents...
C'est seulement possible sur d'anciens contrôles Win16 avec GetDlgItemText.
Tant pis...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager