TRichEdit - 如何添加一个大小变化的空行?

TRichEdit - How to add an empty line with size change?

我有一个字符串数组,我想在其中一些字符串之间添加一个较小的空行。 所以我有一个代码:

  const _n=#13#10;
  //...
  r1.Lines.Clear;
  r1.SelAttributes.Size:=18;
  r1.SelText:='TEST';
  r1.SelAttributes.Size:=6;
  r1.SelText:=_n+'............';
  r1.SelAttributes.Size:=18;
  r1.SelText:=_n+'test1';
  r1.SelAttributes.Size:=6;
  r1.SelText:=_n+' ';
  r1.SelAttributes.Size:=18;
  r1.SelText:=_n+'test2';

并且大小更改适用于第一行(带点),但 test1 和 test2 之间的行与它们 (18) 的大小相同 =\

有什么建议吗?

我找到了一些解决方法:可以使用制表符代替 space。

所以下面的代码工作正常:

  r1.SelAttributes.Size:=18;
  r1.SelText:=_n+'test1';
  r1.SelAttributes.Size:=6;
  r1.SelText:=_n+#9; // <- tab here
  r1.SelAttributes.Size:=18;
  r1.SelText:=_n+'test2';

您可以通过向 Richedit 发送 EM_SETPARAFORMAT 消息来更改各行的行间距,而不是插入空行。看到这个问题

举个例子。要增加行间距,请更改 "Para.dyLineSpacing" 的值。使用“500”来了解效果。