在richedit中,如何控制行距,有用马上给分(50分)

  • 主题发起人 主题发起人 pengjinlongex
  • 开始时间 开始时间
P

pengjinlongex

Unregistered / Unconfirmed
GUEST, unregistred user!
在richedit中,如何控制行距,我现在比较急,
有用马上给分,
 
还有,在该控件中如何输入‘φ’ ‘ Φ ’ (直径表示符号),以上两问题每个均有50分,
如果有用,马上给分,答对一题也有50分
 
分不够就直说,可以加么
 
richedit我不知道有没有这样的功能,不行就用其他控件嘛
 
不行,我还要以某种固定格式输出报表,用其他控件,但哪去找相应的报表工具呢?
 
用Rx的RxRichEdit吧
 
Richedit 2.0以上版本支持行间距功能。具体用法,是通过一个系统消息,设置段落
属性。因现在办公室,手头没有资料,无法给你详细步骤。你可以查一下MSDN中,关于
RichEdit的系统消息。
如不急,晚上再给你原码!
另,RichEdit 2.0 版本,要求系统中存在Riched20.dll。

关于‘φ’ ‘ Φ ’ ,要么直接用中文图形字符,要么用支持Unicode的专用控件。
 
先谢了,晚上请记得给我原代码,先给50分
 
对不起,记错了一个内容,Richedit2.0已经直接支持行间距。因为Delphi自带的TRichedit
不支持RichEdit2.0,所以必须用其他的代替。下例中用了TRxRichEdit:

procedure TfrmMain.ChangeLineSpace;
var
liS, liL: longint;
begin
SendMessage(RxRichEdit1.Handle, WM_SETREDRAW, 0, 0);
try
with RxRichEdit1 do begin
liS := SelStart;
liL := SelLength;
SelectAll;
Paragraph.LineSpacing := Round(iiLineSpace * SelAttributes.Size); //iiLineSpace为行间距
Paragraph.LineSpacingRule := lsSpecifiedOrMore;
SelStart := liS;
SelLength := liL;
Modified := False;
end;
finally
SendMessage(RxRichEdit1.Handle, WM_SETREDRAW, -1, 0);
RxRichEdit1.Invalidate;
end;
end;
 
后退
顶部