我使用tRichEdit来设置线条颜色.我想像tMemo一样减少行间距.
当我手动输入字母时,行空间自动减少但是当我使用tRichEdit.lines.add时没有任何反应.
如果不可能有替代品吗?

您可以通过发送调整行距EM_SETPARAFORMAT通过SendMessage,设置PFM_LINESPACING在dwMask并提供值的dyLineSpacing值(和设定bLineSpacingRule值,以便在RichEdit知道如何解释是前者).下面的代码在TRichEdit(线条实际上彼此略微重叠)中设置了非常紧密的线间距:
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;
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅EM_SETPARAFORMAT的MSDN文档