我想通过对 RichEdit 控件的编程完成如下功能,请赐教!
1、控制 RichEdit 控件中文字内容的边界。
2、通过程序设置RichEdit 控件中文字的字体、字型号(各行格式不同,如 Word) 等。
3、其它更多关于 RichEdit 的资料。 小弟这厢有礼!
1、控制 RichEdit 控件中文字内容的边界。
2、通过程序设置RichEdit 控件中文字的字体、字型号(各行格式不同,如 Word) 等。
3、其它更多关于 RichEdit 的资料。 小弟这厢有礼!
解决方案 »
- 请教各位大侠,关于文件打开的问题
- 在unix取回来一个文本文件,但不知如何读取完整
- 打印预览没有反应
- 写个像ExchangeServer一样的邮件服务器,基本实现即可. 进来再说..
- 一个线程terminate后,好像只是free了,并没有把他变成nil。
- 我想修改dialogs的系统unit!怎么生效?
- 高分寻求图表控件及其源代码,分不够再加!!!!
- 我要捕获ADOConnection.Open时服务器名错误的异常,请问是On哪个Exception?谢谢
- 我想 拦截 DiskID32.dll 中返回硬盘序列号的函数,用hook怎么做?
- 如何在运行期改变DBGrid的数据源?
- 更新数据库速度慢的问题!
- DELPHI与VC++问题
richedit.*
comctrls.pas
fontdialog1.Font.assign(richedit1.selattributes);
//设置FontDialog的Font属性为当前的文字属性
if fontdialog1.Execute then
currtext.Assign(fontdialog1.font);
richedit1.setfocus;
这牵扯到许多,最好找本书看一下。
我试了
RichEdit.ClientRect RichEdit.PageRect 无效有没有其它办法?如何通过程序设置每行以不同字体和字型大小显示?
RichEdit1.Font.Name:='宋体';
RichEdit1.Font.Size:=18;
RichEdit1.Lines.Add('中华人民共和国'); RichEdit1.Font.Size:=13;
RichEdit1.Lines.Add('我是一棵小草');
结果字型号完全一致。两个很具体的问题呀!
jiaxianglei(心语)所言是全部改换字体。
My_Love(没有) 中所言为由客户使用 RichEdit 的结果,我不要求客户修改其中的文字内容,全部通过程序自动完成。请教!
要使用Api函数来进行设置SendMessage();
GetRect()
SetRect();
其它就简单了
comctrls.pas,msdn,网上资料。
-----------------------------
1.这个是《超级猛料》里的东东,可参考一下。
-----------------------------
一般地,文字和编辑框的边界是靠都比较拢的,如果希望边界宽一点儿,可以使用下面的代码:
procedure TForm1.Button1Click(Sender: TObject);
const
BORDER_WIDTH = 20;
var
Rect: TRect;
begin
SendMessage(Memo1.Handle, EM_GETRECT, 0, Longint(@Rect));
Rect.Top := BORDER_WIDTH;
Rect.Left := BORDER_WIDTH;
Rect.Right := Memo1.Width - BORDER_WIDTH;
Rect.Bottom := Memo1.Height - BORDER_WIDTH;
SendMessage(Memo1.Handle, EM_SETRECT, 0, Longint(@Rect));
Memo1.Refresh;
end;
---------------------------------
2.设字体,
with RichEdit1.SelAttributes do
begin
Color := clRed;
Height := Height + 5;
style := [fsbold];
end;
---------------------------