如何调整TRichView的行间距呢???(20分)

  • 主题发起人 主题发起人 jack011
  • 开始时间 开始时间
J

jack011

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是TRichView控件,哪个属性可以调整行间距呢?
因为中文字显得太拥挤!
 
调整你用到的段落样式的linespacing属性。。设置为150或更大
 
在RichView中我没有找到linespacing属性啊!
兄台能否给点代码贴出来啊?
 
你看看richedit.pas里的定义,PARAFORMAT2部分

类似下面的代码:
procedure SetLineSpacing(ARichEdit: TRichEdit; LineSpacing,LineSpacingRule: Byte);
var
pf2: PARAFORMAT2;
begin
FillChar(pf2, SizeOf(pf2), 0);
pf2.cbSize := SizeOf(PARAFORMAT2);
pf2.dwMask := PFM_LINESPACING;
pf2.dyLineSpacing :=lineSpacing*100; //行距
pf2.bLineSpacingRule := LineSpacingRule;
SendMessage(ARichEdit.Handle, EM_SETPARAFORMAT, 0, Longint(@pf2));
end;
 
改了下:
{设置行距,单位是像素}
procedure SetLineSpacing(ARichEdit: TRichEdit; LineSpacing:integer);
var
pf2: PARAFORMAT2;
begin
FillChar(pf2, SizeOf(pf2), 0);
pf2.cbSize := SizeOf(PARAFORMAT2);
pf2.dwMask := PFM_LINESPACING;
pf2.dyLineSpacing :=lineSpacing;
pf2.bLineSpacingRule := 5;
SendMessage(ARichEdit.Handle, EM_SETPARAFORMAT, 0, Longint(@pf2));
end;

{获取行距,单位是像素}
function GetLineSpacing(ARichEdit: TRichEdit):integer;
var
pf2: PARAFORMAT2;
begin
FillChar(pf2, SizeOf(pf2), 0);
pf2.cbSize := SizeOf(PARAFORMAT2);
pf2.dwMask := PFM_LINESPACING;
pf2.bLineSpacingRule := 5;
SendMessage(ARichEdit.Handle, EM_GETPARAFORMAT, 0, Longint(@pf2));
result:=pf2.dyLineSpacing;
end;
 
to hs-kill大哥:
我用的是RichView控件,不是RichEdit.
试了试好象还是不能更改行间距哦!
 
汗......不好意思......看花眼了 TRichView没用过.......
 
可以在同一行插入不同的样式文字,把其中一个样式的字体设大一点,在插入空值.
需要显示的文字正常显示就OK了

RichView.addnl(' ' ,1,0);//Fontsize设置大点
RichView.addnl('显示的文字' ,0,-1);//正常显示
 
接受答案了.
 
后退
顶部