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 :

[TrichEdit] Comment écrire sur 2 colonnes ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    753
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 753
    Points : 500
    Points
    500
    Par défaut [TrichEdit] Comment écrire sur 2 colonnes ?
    Bonjours a tous je cherche un moyen pour ecrire dans un trichedit sur " deux colonnes" et ceci quelque soit la police . j'ai essayer les tabulation , formatage des chaines.. sans succés.

    exemple de texte :

    Valeur1 : Resultat1
    Valeur212 : Resultat1
    Valeur34 : Resultat1
    Valeur44 : Resultat1

    donc je voudrai aligner au mieux les ":"

    si quelqu'un a une astuce je suis preneur ! merci d'avance .

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 50
    Points : 61
    Points
    61
    Par défaut
    salut,

    as tu essaye de fixer tes tabulations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      RichEdit1.Paragraph.Tab[0] := 0;
      RichEdit1.Paragraph.Tab[1] := 0;
      RichEdit1.Paragraph.Tab[2] := 0;
      RichEdit1.Paragraph.Tab[3] := 0;
      RichEdit1.Paragraph.Tab[4] := 0;
      RichEdit1.Paragraph.Tab[0] := 100;
      RichEdit1.Paragraph.Tab[1] := 200;
      RichEdit1.Paragraph.Tab[2] := 300;
      RichEdit1.Paragraph.Tab[3] := 400;
    chez moi, je suis obligé de declarer 2 fois la tabulation, visiblement la premiere declaration initilise l'indice du tableau et la seconde ca valeur, de plus il est necessaire de declarer une tabulation de plus que necessaire pour que la derniere valeur soit prise encompte.

    mettre la propriete wanttab a true
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      RichEdit1.WantTabs := True;
    pour pouvoir utiliser la touche tab dans le richedit.

    les tabs etant fixees, elles devienent presque indepentantes du texte et de ces proprietes.

  3. #3
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    753
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 753
    Points : 500
    Points
    500
    Par défaut
    Les tabulation posent un probleme :
    En fait j'ai deux chaines que je cumule pour les afficher sur une seule ligne dans mon trichedit et c'est toutes les deuxiemes lignes que je veux aligner.Donc ma tabulation (#9) est inserer entre les deux chaine ( chaine1 +#9..+chaine2).

    J'utilise une police de taille non fixe et le nombre de caracteres de ma 1er ligne est aussi variable,donc si je tabule je suis obligé de calculer une tabulation pour chaque nombre de caracterre de chaque 1er chaine et ajouter la tabulation en fonction de ma premiere chaine sinon ce sont les tabulations qui se decalent . Faisable , mais si il existe une solution plus directe ..

    merci quand meme .

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 50
    Points : 61
    Points
    61
    Par défaut
    en fixant tes tabulations comme je te l'indique, cela revient comme dans word lorsque tu place une tabulation, l'alignement
    essai avec une form, un bouton et un richedit et le code suivant:

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls, Grids, ValEdit;
     
    type
      TForm1 = class(TForm)
        RichEdit1: TRichEdit;
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
        nbclique: integer;
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
     
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      nbclique := 0;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: integer;
     
    begin
      inc(nbclique);
      RichEdit1.Paragraph.Tab[0] := 0;
      RichEdit1.Paragraph.Tab[1] := 0;
      RichEdit1.Paragraph.Tab[2] := 0;
      RichEdit1.Paragraph.Tab[3] := 0;
      RichEdit1.Paragraph.Tab[4] := 0;
      RichEdit1.Paragraph.Tab[0] := 100;
      RichEdit1.Paragraph.Tab[1] := 200;
      RichEdit1.Paragraph.Tab[2] := 300;
      RichEdit1.Paragraph.Tab[3] := 400;
     
      RichEdit1.WantTabs := True;
     
      RichEdit1.Lines.Add('nombre tab : '+inttostr(RichEdit1.Paragraph.TabCount));
      for i:= 0 to RichEdit1.Paragraph.TabCount - 1 do
      begin
        RichEdit1.Lines.Add('tab - '+inttostr(i)+#9 +':' + #9 + inttostr(RichEdit1.Paragraph.Tab[i]));
        RichEdit1.Font.Name := 'Arial';
        RichEdit1.SelAttributes.Size:= RichEdit1.SelAttributes.Size + (2*nbclique);
      end;
    end;
     
    end.
    dans l'exemple, je n'utilise que 2 de trois tab definies.

  5. #5
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    753
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 753
    Points : 500
    Points
    500
    Par défaut
    Tu as raison çà gaze bien !! Merci bcp a charge de revenche !!

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

Discussions similaires

  1. Réponses: 20
    Dernier message: 15/11/2011, 19h36
  2. Réponses: 2
    Dernier message: 16/07/2007, 09h37
  3. Réponses: 1
    Dernier message: 06/12/2006, 20h59
  4. Comment écrire sur le port parallèle ?
    Par trax44 dans le forum Assembleur
    Réponses: 11
    Dernier message: 21/08/2005, 22h53
  5. Comment écrire sur une image, dans un cadre ?
    Par Nutrino dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/05/2005, 00h55

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