Delphi 设置RichEdit的行间距


本文整理自网络,侵删。

 
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;

相关阅读 >>

Delphi 检查自己的进程的父进程

Delphi 方便的文本文件操作(text)

Delphi 如何解决在dll的入口函数中创建或结束线程时卡死

Delphi 数字分隔

Delphi xe 播放 gif 动画

Delphi android 安卓中保持屏幕常亮

Delphi 多核机器上编程实现将指定进程pid放到指定cpu上运行

Delphi windows 编程[9] - wm_close 消息

Delphi 一个拼图工具的制作思路

Delphi 上传文件到七牛,纯原生

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...