begin process at 2012 02 09 21:35:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

prendre le text d'une sélection


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

prendre le text d'une sélection

dimanche 5 août 2007 à 17:39:07 | prendre le text d'une sélection

deck_bsd

Membre Club
Yop à tous,

Voila , ceci est p-e une question stupide mais j'ai chercher après un message qui me permet de récupérer le text d'une selection faite avec EM_SETSEL, j'ai pensé naïvement EM_GETSEL, mais cela n'a rien a voir, cela renvoie les positions de départ et de fin de la sélection. Quelqu'un a une idée ?


Merci d'avance.

++
deck_bsd
___________________________________
[ [ Lien ]]
dimanche 5 août 2007 à 18:10:02 | Re : prendre le text d'une sélection

juju12

Ben tu pourrais utiliser EM_GETLINE puis EM_GETSEL pour savoir quel endroit  est sélectionné (il te renvoie les index des premier et dernier+1 caractères).
dimanche 5 août 2007 à 18:49:09 | Re : prendre le text d'une sélection

deck_bsd

Membre Club
Oui mais je veux juste récupérer la sélection, pas la ligne.

++
deck_bsd
___________________________________
[ [ Lien ]]
dimanche 5 août 2007 à 19:02:34 | Re : prendre le text d'une sélection

juju12

C'est ce que je dis : tu récupère toute la ligne dans un buffer et ensuite tu te places au bon endroit avec les index fournis par EM_GETSEL. Du genre :

char* pBuffer=new char*[256];
SendMessage(hWnd,EM_GETLINE,0,(LPARAM)pBuffer);
int pStart,pEnd;
SendMessage(hWnd,EM_GETSEL,(WPARAM)&pStart,(LPARAM)&pEnd)
char* pSelText=new char*[(pEnd-pStart)];
pBuffer[pEnd]=0;
StrCpy(pSelText,pBuffer+pStart);
delete [] pBuffer;

avec quelques retouches...

au fait si t'es dans un RichEdit y a EM_GETSELTEXT qui le fait directement.
dimanche 5 août 2007 à 19:44:01 | Re : prendre le text d'une sélection

deck_bsd

Membre Club
Oui mais alors cela ne sert a rien d'utilisé EM_SETSEL, il doit y avoir un message fait pour , sinon cela ne sert rien :D

++
deck_bsd
___________________________________
[ [ Lien ]]
dimanche 5 août 2007 à 19:59:17 | Re : prendre le text d'une sélection

racpp

Administrateur CodeS-SourceS
Salut,
Tu peux utiliser GetWindowText() pour récupérer tout le texte dans un buffer. Le texte sélectionné commence à buffer+debut  et finit à buffer+fin. Tu mets un 0 final dans buffer+fin pour terminer la chaine. Il y'a aussi le message EM_GETHANDLE qui permet de retrouver la zone mémoire occupée par le texte. Tu peux l'utiliser pour ne pas allouer un buffer obligatoire pour GetWindowText().

dimanche 5 août 2007 à 20:04:11 | Re : prendre le text d'une sélection

racpp

Administrateur CodeS-SourceS
Tu peux ausi copier le texte sélectionné dans le clipboard avec WM_COPY. Le buffer du clipboard ne contiendra donc que ce texte sélectionné.

dimanche 5 août 2007 à 20:13:37 | Re : prendre le text d'une sélection

aardman

Membre Club
Salut,
racpp> pour le coup du WM_COPY, je pense que c'est une mauvaise idée de modifier le contenu du clipboard sans que ca soit en réponse a un evenement de l'utilisateur. Le clipboard perd tout son interet si un prog modifie aleatoirement son contenu.

dimanche 5 août 2007 à 20:45:21 | Re : prendre le text d'une sélection

vecchio56

Administrateur CodeS-SourceS
Je pense que c'est dommage d'utiliser GetWindowText car le texte total est peut être très long.
Utiliser EM_GETHANDLE est sans doute plus efficace


_____________________________________
Un éditeur de ressources gratuit pour Windows

lundi 6 août 2007 à 20:10:14 | Re : prendre le text d'une sélection

deck_bsd

Membre Club
Merci,

Je vien d'aller voir pour EM_GETHANDLE, l'utilisation est fort simple, mais ce que je ne comprend pas, c'est ce que renvoie ce message, oui ok c'est un handle, mais pas un pointeur, donc comment je fait pour retrouver l'adresse de la zone en mémoire. Pour moi les handles on tjrs été associé a un identifiant :s

++
deck_bsd
___________________________________
[ [ Lien ]]

1 2

Cette discussion est classée dans : text, prendre, sélection, em, deck


Répondre à ce message

Sujets en rapport avec ce message

[win 32] DLL - Problème de coloration d'une sélection seule dans un RichEdit [ par uaip ] Bonsoir à tous, J'ai une petite question désespérée, avant d'aller dormir. Je code une DLL qui est censée faire un hook sur un éditeur de script (mIRC Problème avec EM_SETCUEBANNER [ par vecchio56 ] Bonjour,J'essaie d'utiliser le message EM_SETCUEBANNER qui permet d'afficher un prompt de recherche dans un contrôle EDIT, et je crois devenir fou : l Incruster heure et date dans une image [ par deck_bsd ] Yop à tous,Voila, j'aurai voulu savoir comment je pourrai faire pour incruster l'heure et la date dans une image, de la même manière que fais un apare Problème à la compilation: Utilisation de QD [ par TorTukiTu ] Bonjour,Rentrons directement dans le vif du sujet =) . J'ai besoin d'une grande précision pour certaines opérations. Il me faut une précision allant a [QT] colorier les commentaires multilignes avec QSyntaxHighlighting [ par christophedlr ] Bonsoir,J'ai regardé comment utiliser la classe QSyntaxHighlighter de QT afin de colorier du texte.Je gère sans aucune difficulté les commentaires sur listbox et checkbox [ par contra69005 ] bonjour , es ce que quelqu'un pourra maider svp, voila mon probleme :jai créer une listbox1 dans un userform1 avec un rowsource ("A75 : B176"), quand enregistrement de donne avec builderc++ et acces [ par mohamedinfo ] bnj ttes le mande;je veux réaliser un application avec builder c++ et base de donneée acces  .j'ai etablir la connexion avec la bdd et je fait un bout acces et builder c++ [ par mohamedinfo ] Bonjour, j'ai un petit pb avec bordland C++ builder 6. Je suis en train de fair  : "géstion d'une mini systeme bancaire"j utilise les base de donne a


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales