IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Récupérer un texte qui est surligné


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut Récupérer un texte qui est surligné
    bonjour,

    Je développe une application qui se charge d'envoyer des caractères dans n'importe quelle fenetre( déterminée grâce à son handle). Seulement je voudrais maintenant copier un texte qui a été selectionné ( surligné), dans ce cas le handle ne suffit pas... Si a quelques conseils, il sont bienvenus...

    merci


    ++

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Toujours ton Histoire de Clavier Virtuel ?

    Selectionné = Selection par la Souris
    Surligné = avec une ligne en dessous comme dans un RichEdit

    ce n'est pas pareil ...

    Sinon voir le message EM_GETSELTEXT, avec le handle du Edit cela devrait fonctionné, voir comment fonctionne un RichEdit (ComCtrls.pas) pour la Gestion du texte sélectionné ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut
    Eh oui toujours mon histoire de clavier, il faut qu'il fonctionne parfaitement...


    tu dis
    selectionné= sélection par la souris
    Faire un copier/coller dans un TEDIT je sais faire, avec Clipboard, mais mon clavier permet d'écrire dans n'importe quelle fenetre ouverte ( notepad, google, application delphi...etc...).

    Mais comment tu défini une selection faite par la souris?

    Moi je récupère le handle de la fenetre grâce à la position de la souris, mais je ne vois pas comment savoit si un texte est selectionné?


    C'est surement très con mais je vois pas trop...



    merci a toi Shai

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Tu veux récupérer le Texte Selectionné ... j'ignore à quel moment, mais suffit d'envoyer le Message EM_GETSELTEXT ... cherche dans ComCtrls.pas comment l'utiliser ... si cela renvoie nil ou chaine vide, il n'y pas de selection ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    function TCustomRichEdit.GetSelLength: Integer;
    var
      CharRange: TCharRange;
    begin
      SendMessage(Handle, EM_EXGETSEL, 0, Longint(@CharRange));
      Result := CharRange.cpMax - CharRange.cpMin;
    end;
     
    function TCustomRichEdit.GetSelText: string;
    var
      Length: Integer;
    begin
      SetLength(Result, GetSelLength + 1);
      Length := SendMessage(Handle, EM_GETSELTEXT, 0, Longint(PChar(Result)));
      SetLength(Result, Length);
    end;
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut
    Je suis en train d'essayer de réfléchir en suivant tes pistes, mais je ne suis pas sur de comprendre ( manque d'expérience en delphi ).
    Tu conseilles d'utiliser des commandes réservée pour le RichEdit ( EM_GETSELTEXT) ... Une fenetre notepad peut être assimilée à un richedit? t une page google?

    J'ai ouvert ComCtrls.pas, et j'ai trouvé la partie sur RichEdit, mais je ne comprends pas plus...

    Enfin c'est surement une question de temps...

    merci pour tes conseils Shai...
    ++

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Effectivement, Notepad, ce n'est qu'un simple Edit, je n'ai jamais testé, et le RichEdit est le seul composant que je connaissais avec une Selection de Texte programmable, donc c'est pour cela que j'ai songé à ça !

    et au lieu d'utiliser EM_EXGETSEL et EM_GETSELTEXT, faudrait utiliser EM_GETSEL et WM_GETTEXT (en en récupérant que la sélection) pour un Edit normal
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer un fichier qui est sur un URL
    Par Rhodo33 dans le forum Général Java
    Réponses: 4
    Dernier message: 12/10/2011, 19h03
  2. [RegEx] recuperer des mots dans un texte qui est un code php
    Par hendrix67 dans le forum Langage
    Réponses: 1
    Dernier message: 25/05/2010, 16h11
  3. Afficher une partie de texte qui est préalablement stockée dans la base
    Par sooprano dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/02/2010, 20h55
  4. Texte qui est décalé.
    Par quentiin dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 24/02/2009, 13h16
  5. [RegEx] Comment récupérer un texte qui est entre deux balises ?
    Par sandddy dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2007, 18h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo