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 :

Connaitre la position ligne/colonne dans un TMemo


Sujet :

Delphi

  1. #1
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut Connaitre la position ligne/colonne dans un TMemo
    Bonjour,

    est-il possible de connaitre la position ligne/colonne d'un TMemo.

    Avec un RichEdit je faisais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
          CharPos.Y := SendMessage(Memo1.Handle, val, 0,
            Memo1.SelStart);
          CharPos.X := (Memo1.SelStart -
            SendMessage(Memo1.Handle, EM_LINEINDEX, CharPos.Y, 0));
          Inc(CharPos.Y);
          Inc(CharPos.X);
    Mais ça ne fonctionne pas avec un TMemo.

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Un petit tour dans la FAQ

  3. #3
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut
    Arf, j'ai cherché pourtant.

    avec ce code seule la colonne est fausse s'il s'agit de la dernière ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        with Memo1 do
        begin
          CharPos.X := SendMessage(Handle, EM_LINEFROMCHAR, SelStart, 0) ;
     
          CharPos.Y := SendMessage(Handle, EM_LINEINDEX, CharPos.X + 1, 0) ;
     
          Caption := IntToStr(CharPos.X + 1) + '/' + IntToStr(CharPos.Y + 1) ;
        end;

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    J'avais mal interprété ton soucis (j'ai lu trop rapidement )

    Il faut faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    with Memo1 do
     begin
       CharPos.X:=SendMessage(Handle,EM_LineFromChar,SelStart,0);
       CharPos.Y:=SelStart - SendMessage(Handle,EM_LineIndex,CharPos.X,0);
       Caption := IntToStr(CharPos.X+ 1) + '/' + IntToStr(CharPos.Y+ 1) ;
     end;
    Tu t'es trompé en Ajoutant le "+1" pour la colonne

    @+

  5. #5
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut
    Super ça marche merci

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

Discussions similaires

  1. [XL-2010] VBA - Récupérer position (ligne/colonne) d'une checkbox dans une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/03/2012, 15h52
  2. Réponses: 7
    Dernier message: 30/04/2009, 15h49
  3. Position ligne/curseur dans un textbox
    Par bubulemaster dans le forum Windows Forms
    Réponses: 7
    Dernier message: 08/04/2008, 09h19
  4. récupérer la colonne dans un TMemo
    Par krokmitaine dans le forum Delphi
    Réponses: 9
    Dernier message: 04/10/2006, 14h12
  5. Position du curseur dans un TMemo
    Par yokito dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/08/2003, 16h35

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