Bonjour,
Peut on modifier l'espacement des lignes dans un RichEdit ? Car je trouve le texte trop écarté lorsque l'on passe à la ligne dans un RichEdit.
Merci
Bonjour,
Peut on modifier l'espacement des lignes dans un RichEdit ? Car je trouve le texte trop écarté lorsque l'on passe à la ligne dans un RichEdit.
Merci
Oui c'est tout à fait possible via cette technique:
Voilà!
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 uses RichEdit; procedure RE_SetLineSpacing(ARichEdit: TRichEdit; lineSpacing: Byte); var pf2: ParaFormat2; begin FillChar(pf2, SizeOf(pf2), 0); pf2.cbSize := SizeOf(PARAFORMAT2); pf2.dwMask := PFM_LINESPACING; pf2.bLineSpacingRule := lineSpacing; SendMessage(ARichEdit.Handle, EM_SETPARAFORMAT, 0, Longint(@pf2)); end; //Example: Setlinespacing to 1: procedure TForm1.Button1Click(Sender: TObject); begin RE_SetLineSpacing(RichEdit1, 1); // il n'y a qu'à changer la valeur .... end;
Bon coding ...
Merci pour ta réponse, je suis allé voir dans ce sens là en effectuant une petite modification mais malheureusement ça ne donne pas l'effet voulu. J'ai pourtant utilisé plusieurs méthodes différentes :
D'après la MSDN :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure RE_SetLineSpacing(ARichEdit: TRichEdit; lineSpacing: Byte); var pf2: ParaFormat2; begin FillChar(pf2, SizeOf(pf2), 0); pf2.cbSize := SizeOf(PARAFORMAT2); pf2.dwMask := PFM_LINESPACING; pf2.bLineSpacingRule := 4; // mode de modification de l'interligne pf2.dyLineSpacing := lineSpacing; // permet de modifier l'interligne SendMessage(ARichEdit.Handle, EM_SETPARAFORMAT, 0, Longint(@pf2)); end;
Mais j'ai beau essayer tous les modes (notamment 4 et 5), les lignes se rapprochent ou s'éloignent mais elles se chevauchent et il y a toujours une ligne blanche qui les séparent.bLineSpacingRule
Type of line spacing. To use this member, set the PFM_SPACEAFTER flag in the dwMask member. This member can be one of the following values.
0
Single spacing. The dyLineSpacing member is ignored.
1
One-and-a-half spacing. The dyLineSpacing member is ignored.
2
Double spacing. The dyLineSpacing member is ignored.
3
The dyLineSpacing member specifies the spacingfrom one line to the next, in twips. However, if dyLineSpacing specifies a value that is less than single spacing, the control displays single-spaced text.
4
The dyLineSpacing member specifies the spacing from one line to the next, in twips. The control uses the exact spacing specified, even if dyLineSpacing specifies a value that is less than single spacing.
5
The value of dyLineSpacing / 20 is the spacing, in lines, from one line to the next. Thus, setting dyLineSpacing to 20 produces single-spaced text, 40 is double spaced, 60 is triple spaced, and so on.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager