我使用tRichEdit设置线条颜色。我想减少像tMemo这样的行空间。
当我手动输入一个字母表时,行空间会自动减少,但是当我使用tRichEdit.lines.add时,什么都不会发生。
如果不可能的话,有替代品吗?

发布于 2015-05-18 20:26:57
您可以通过通过EM_SETPARAFORMAT发送SendMessage、在dwMask中设置PFM_LINESPACING和为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;有关更多信息,请参见塞拉福玛的MSDN文档。
https://stackoverflow.com/questions/30311125
复制相似问题