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 :

Justifier le texte d'un RichEdit


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Points : 74
    Points
    74
    Par défaut Justifier le texte d'un RichEdit
    Bonjour,

    Est que quelqu'un pourrait me dire s'il est possible de justifier un texte, sur la largeur de son choix, dans un RichEdit, et si oui comment ?

    D'avance merci

    Codial

  2. #2
    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
    Malheureusement non, parce que le TRichEdit Delphi standard est basé sur la version 1.0 et non pas sur la version 2.0 (utilisation en interne de la DLL "RICHED32.DLL" au lieu de "RICHED20.DLL")

    Mais tu peux utiliser le composant TJVRichEdit de la JVCL qui lui sait le faire
    Bidouilleuse Delphi

  3. #3
    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
    Si comme ça, on peut le faire !!!

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    procedure Justifier(ARichEdit:TRichEdit);
    const
    WM_USER = $400;
    EM_EXSETSEL = (WM_USER + 55);
    EM_SETTYPOGRAPHYOPTIONS = (WM_USER + 202);
    EM_GETTYPOGRAPHYOPTIONS = (WM_USER + 203);
    TO_ADVANCEDTYPOGRAPHY = $1;
    mZERO = $0;
    var x :tparaformat;
    L :LongInt;
    cp :charrange;
    begin
    x.cbSize := sizeof(x);
    if ARichEdit.SelLength = 0 then
       begin
       cp.cpMin := 0;
       cp.cpMax := length(ARichEdit.Text);
       SendMessage(ARichEdit.Handle,EM_EXSETSEL,mZERO,LPARAM(@cp));
       end;
    L := SendMessageA(ARichEdit.Handle,EM_SETTYPOGRAPHYOPTIONS, TO_ADVANCEDTYPOGRAPHY, TO_ADVANCEDTYPOGRAPHY);
       if L = 1 then
       begin
       SendMessageA(ARichEdit.Handle, EM_GETTYPOGRAPHYOPTIONS, mZERO, mZERO);
       SendMessage(ARichEdit.Handle, EM_GETPARAFORMAT, mZERO, LPARAM(@x));
       x.dwMask := PFM_ALIGNMENT;
       x.wAlignment := PFA_JUSTIFY;
       SendMessage(ARichEdit.Handle, EM_SETPARAFORMAT, mZERO, lparam(@x));
       end;
    cp.cpMin := 0;
    cp.cpMax := 0;
    SendMessage(ARichEdit.Handle,EM_EXSETSEL,mZERO,lparam(@cp));
    ARichEdit.WordWrap := true;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var FormatParagraphe:PARAFORMAT2;
    begin
      Justifier(RichEdit1);
    end;
    Par contre, pas sur que ça tienne la sauvegarde puis le rechargement (SaveToFile/LoadFromFile)

    Bon dev
    Bidouilleuse Delphi

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    merci pour les réponses.
    J'ai intégré la procédure de waskol dans mon projet test, mais je bute sur PARAFORMAT2 et tparaformat "Identificateur non déclaré".

    Il me manque quelque chose?

    Cordialement

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Points : 74
    Points
    74
    Par défaut
    Bonsoir,

    merci beaucoup, je devais rajouter RichEdit dans les uses.

    Encore une question:

    Peut on paramétrer un RichEdit aux formats portrait et paysage ?

    Cordialement

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

Discussions similaires

  1. Texte formaté dans RichEdit & DBRichEdit
    Par dem dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/03/2021, 20h05
  2. [ImageMagick] Justifier le texte avec imagettftext
    Par AurelBUD dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 31/10/2006, 11h06
  3. Copier/coller un texte dans un richedit
    Par bipeurs dans le forum Windows
    Réponses: 1
    Dernier message: 03/08/2006, 02h44
  4. [MFC] Centrer du texte dans une RichEdit
    Par firejocker dans le forum MFC
    Réponses: 2
    Dernier message: 13/02/2006, 10h05
  5. justifier du texte
    Par Milouse dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 08/07/2005, 10h56

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