鸿 网 互 联 www.68idc.cn

Delphi 设置RichEdit的行间距

来源:互联网 作者:佚名 时间:2021-12-14 17:55
procedure TForm1.Button3Click(Sender: TObject);var pf: PARAFORMAT2;begin FillChar(pf, sizeof(paraformat2), #0); pf.cbSize := SizeOf(paraformat2); pf.dwMask := PFM_LINESPACING ; //需要设置上 PFM_LINESPACING 标志,bLineSpacingRule和dyLineSpa
procedure TForm1.Button3Click(Sender: TObject);var  pf: PARAFORMAT2;begin  FillChar(pf, sizeof(paraformat2), #0);  pf.cbSize := SizeOf(paraformat2);  pf.dwMask := PFM_LINESPACING  ;   //需要设置上 PFM_LINESPACING 标志,bLineSpacingRule和dyLineSpacing才可能有效//  pf.bLineSpacingRule := 0;   //单倍行距,dyLineSpacing的值将被忽略//  pf.bLineSpacingRule := 1;   //1.5倍行距,dyLineSpacing的值将被忽略//  pf.bLineSpacingRule := 2;   //两倍行距,dyLineSpacing的值将被忽略//  pf.bLineSpacingRule := 3;   //用dyLineSpacing以缇为单位指定行间距,当此值小于单倍行距时,效果为单倍行距//  pf.bLineSpacingRule := 5;   //用dyLineSpacing/20指定行间距  pf.bLineSpacingRule := 4;   //用dyLineSpacing以缇为单位指定行间距  pf.dyLineSpacing := RichEdit1.Font.Size * 20 + 20 * 4; //这是笔者大概计算的,可以根据字体大小调节的,行间最小距离,大字体时可能出现上下行重叠,可以设置为300或者自己计算  RichEdit1.SelectAll;   //只对选择的文本有效,***重要***  SendMessage(RichEdit1.Handle, EM_SETPARAFORMAT, 0, LPARAM(@pf));  RichEdit1.SelStart := 0;  RichEdit1.SelLength := 0;end;
网友评论
<