如何减少tRichEdit的行间距

时间:2015-05-18 19:13:31

标签: delphi

我使用tRichEdit设置线条颜色。我想像tMemo那样减少行间距。

当我手动输入字母时,行空间自动减少,但是当我使用tRichEdit.lines.add时没有任何反应。

如果不可能有替代品吗?

enter image description here

1 个答案:

答案 0 :(得分:6)

您可以通过EM_SETPARAFORMAT SendMessage发送PFM_LINESPACINGdwMask设置dyLineSpacing并提供bLineSpacingRule值(和设置值)来调整行间距TRichEdit值,以便RichEdit知道如何解释前者。下面的代码在procedure TForm1.FormCreate(Sender: TObject); var Para: TParaFormat2; begin Para.cbSize := SizeOf(Para); Para.dwMask := PFM_LINESPACING; Para.bLineSpacingRule := 4; // Use exact twips specified Para.dyLineSpacing := 120; // Ridiculously small value SendMessage(RichEdit1.Handle, EM_SETPARAFORMAT, 0, LPARAM(@Para)); end; 中设置了非常紧密的行间距(这些行实际上彼此略微重叠):

{{1}}

有关详细信息,请参阅EM_SETPARAFORMAT

的MSDN文档