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

Composants VCL Delphi Discussion :

TMemo sans retour à la ligne


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Points : 97
    Points
    97
    Par défaut TMemo sans retour à la ligne
    salut tt le monde,
    peut-on empêcher un Tmemo ou Trichedit de retourner à la ligner automatiquement, et que ce qu'on écrit reste sur la 1ere ligne, j'ai utiliser la propriété wantreturns mais ça marche pas.
    MERCI.

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    C'est à dire ?

    Quand tu ajoutes du texte via Memo.Lines.Add('blabla'), tu voudrais que le curseur reste derrière blabla ?

    Une solution consiste à émuler l'appui sur la touche retour en arrière, pour que le curseur se repositionne en fin de la ligne précédente.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure MemoAddLine(M: TMemo; str: string);
    begin
       M.Lines.Add(str); 
       M.SetFocus; //il faut remettre le focus sur le Memo
       keybd_event(VK_BACK, 0, 1, 0); //enfoncé
       keybd_event(VK_BACK, 0, 2, 0); //relevé
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      MemoAddLine(Memo1, 'Test, blablabla');
    end;

  3. #3
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Roland

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Points : 97
    Points
    97
    Par défaut oui mais
    ça marche avec WordWrap seulement si le texte est aligné à gauche mais au centre ou bien à droite ça retourne à la ligne ,
    avez vous de propositions.
    MARCI.

  5. #5
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    tu fais en sorte que ton memo ne fasse qu'une ligne de haut

    exemple :

    memo1.height:=14;
    Bidouilleuse Delphi

  6. #6
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    J'ai pas bien compris ton problème :
    - Si tu veux que tout ton texte tient sur une seule ligne, utilise un TEdit
    à la place de TMemo
    - Si tu veux controler les retours à la ligne, càd si tu veux ajouter
    plusieurs chaines dans une seule ligne, puis retourner à la ligne,
    sauvegarde l'id de la derniere ligne que tu viens d'ajouter, puis modifie
    la proprieté , je suis pas sur là, j'ai pas Delphi sur ce poste, en gros ca
    doit etre comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     var id:integer;
     begin
      id:=M.Lines.Add('Mot1 dans cette ligne');
      ...
      ...
      ...
      M.Lines[i]:=M.Lines[i]+' Mot 2';
    Comme je l'ai dit, je ne suis pas sur de la derniere ligne, c'est peut etre Strings, ou je ne sais pas quoi. Je vérifie et je te communique les résultats !

  7. #7
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Je confirme la solution que j'ai avancé.

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

Discussions similaires

  1. Ma liste à puce sans retour à la ligne ?
    Par ChrissBob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 23/08/2011, 13h05
  2. Zone texte sans retour à la ligne à forcer
    Par rjcab dans le forum IHM
    Réponses: 5
    Dernier message: 30/06/2008, 15h27
  3. Récupérer contenu d'un flux sans retour à la ligne
    Par une maison en bois dans le forum C++
    Réponses: 3
    Dernier message: 06/11/2007, 02h12
  4. <div> sans retour à la ligne
    Par XtoX dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 16/03/2007, 15h20
  5. Scanf sans retour à la ligne
    Par mello dans le forum C
    Réponses: 10
    Dernier message: 11/11/2005, 17h22

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