惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
T
Tailwind CSS Blog
Martin Fowler
Martin Fowler
I
InfoQ
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
The Cloudflare Blog
罗磊的独立博客

博客园 - 涂磊

TMS可以单独安装控件 02]AdvStringGrid中添加CheckBox 01]TMSadvStringGrid下载与安装 epson投影仪提示,保存时间的电池电量偏低,取消显示 用DeepSeek做的Delphi闹钟 XboxS联网下载完游戏后,要拔掉网线,就能玩游戏了 12]RichEdit某些文本突出显示 delphi10.3中Tmemo中某些文本显示下划线 delphi的TReeView支持鼠标拖动节点 cnPack里MarkDown里RTF显示 10]RichEdit另存 为BMP图片 09]delphi中richedit查找 08]delphi10.3剪贴板的图片,保存到文件 07]Delphi10.3中Richedit中的链接可以点击 06]delphi10.3中richedit中文本背景颜色 05]delphi10.3中richedit中删除线 delphi10.3中UpDown1使用 04]RichEdit的上标和下标,Delphi10.3 03]RichEdit插入BMP图片 delphi 中tButtonColor颜色选择 02]如何设置RichEdit文本颜色?_编程语言-CSDN问答 01]delphi从TRichEdit获得RTF格式文本(PC版本) Delphi10.3接收从文件管理器拖放过来的文件名
11]delphi中 RichEdit1设置行距
涂磊 · 2026-02-20 · via 博客园 - 涂磊
uses
  Winapi.Messages, Winapi.Richedit;

procedure TForm1.SetRichEditLineSpacing;
var
  Para: TParaFormat2;
begin
  // 初始化结构体大小
  Para.cbSize := SizeOf(Para);
  
  // 指定要修改的格式为行距
  Para.dwMask := PFM_LINESPACING;
  
  // 设置行距规则为“精确固定”(以缇为单位)
  Para.bLineSpacingRule := 4;
  
  // 设置行距的具体值,单位是缇 (1缇 = 1/20磅,即1磅=20缇)
  // 例如,120缇 = 6磅。对于12磅的字体,这将导致行与行之间略有重叠 [citation:1]
  Para.dyLineSpacing := 240; // 240缇 = 12磅
  
  // 发送消息应用格式
  SendMessage(RichEdit1.Handle, EM_SETPARAFORMAT, 0, LPARAM(@Para));
end;

参数详解:TParaFormat2 的关键字段
为了准确控制行距,你需要理解 TParaFormat2 (或 PARAFORMAT2)结构体中几个关键字段的含义 :

字段    作用    关键值/说明
cbSize    指明结构体大小    必须设置为 SizeOf(TParaFormat2),以便RichEdit识别是旧版PARAFORMAT还是扩展的PARAFORMAT2。
dwMask    位掩码,指定哪些格式参数生效    PFM_LINESPACING:表示我们要修改行距。
bLineSpacingRule    定义行距的类型(规则)    4:行距精确等于 dyLineSpacing 指定的值(单位是缇)。这是实现自定义行距最常用的规则。
5:行距为多倍行距。此时 dyLineSpacing 应被解释为倍数(例如,240 代表 2.4 倍行距)。但需注意,部分资料指出,在RichEdit中使用规则5可能无法实现小于单倍行距的效果,此时建议使用规则4 。
dyLineSpacing    行距的具体数值    单位是缇 (Twip)。1缇 = 1/20磅。如果 bLineSpacingRule 为 4,此值即为行距的绝对数值。如果需要将这个设置应用于文档中的选定文本,可以在发送消息前,先选中目标文本 。
补充说明
单位换算:dyLineSpacing 使用的单位是缇,而我们在设计时更习惯使用“磅”。记住换算关系会很有帮助:1磅 = 20缇。例如,如果你希望行距正好是字体大小(单倍行距),对于12磅的字体,就设置为 12 * 20 = 240。

第三方组件:如果你使用的是第三方的富文本编辑控件(如 TRichView 等),它们通常提供了更直观的 LineSpacing 属性可以直接设置,无需发送底层消息 。