Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2930|回复: 0

RichMemo 显示rtf文件

[复制链接]

该用户从未签到

发表于 2014-9-7 21:49:38 | 显示全部楼层 |阅读模式
本帖最后由 hewei 于 2014-9-7 22:24 编辑

RichMemo 显示rtf文件
1.下载RichMemo组件文件
一直在Lazarus中寻找显示rtf文本文件的组件,在网上《LZFLazarus+ZeosDBO+FireBird 开发者指南》的第四十三章RichMemo 编辑器 得知RichMemo 可以显示rtf文件的文本,在http://wiki.lazarus.freepascal.org/RichMemo页面中有介绍及下载地址,Download Releases can be found at Sourceforge Lazarus-CCR project 下载到richmemo-1.0.zip 解压缩得到richmemo 文件夹,将其复制到C:\lazarus\components。
2.安装RichMemo 组件
启动LazarusIDE v1.2.4 菜单栏->包->打开包文件->C:\lazarus\components\richmemo\richmemopackage.lpk 打开,user->安装->马上重新编译…正在编译…,编译过程中可能会出现如下错误:C:\laz_components\richmemo\win32\win32richmemo.pas(105,3)Error: Wrong number of parameters specified for call to"PrepareCreateWindow"
显示在win32richmemo.pas
  // general initialization ofParams
PrepareCreateWindow(AWinControl, Params);
将其改为
PrepareCreateWindow(AWinControl,AParams, Params);
继续编译即可通过!
其中:https://svn.code.sf.net/p/lazarus-ccr/svn/components/richmemo/win32/win32richmemo.pas上的源码作者已经将更正为PrepareCreateWindow(AWinControl,AParams, Params);
Lazarus自动关闭,重新启动,在组件面板上common controls 上出现有A图标,就是TRichMemo组件,如图:
3.RichMemo组件的使用
  菜单栏->新建->应用程序 保存在 D:\lazrichmemopro,Form中放入TRichMemo设置其属性scrollbarssAutoVertical,放入一个按钮button1设置其caption Loadrtf,再放一个 OpenDialog1
button1click事件:
procedure TForm1.Button1Click(Sender: TObject);
var
filename:TFileStream;
begin
if OpenDialog1.Execute then begin
  filename:=nil;
   try
    filename:= TFileStream.Create(Utf8ToAnsi(OpenDialog1.FileName),fmOpenRead or fmShareDenyNone);
     RichMemo1.LoadRichText(filename);
    //RichMemo1.ScrollBars:=ssAutoVertical;
   except
   end;
  filename.Free;
   end;
end;
4.运行
如果加载rtf文件后,RichMemo右侧的滚动条没有显示,请将TRichMemo的属性HideSelection的改为True,重新编译运行即可。
5.缺点
    TRichMemo组件,不能显示图片。但这已经足够了!

6.效果图


本帖为原创,不想让大家像我找的这样辛苦哦!其中代码参照TRichMemo的实例testsimple中的代码。
非常感谢RichMemo的作者,为我们提供了很好的工具!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册(注册审核可向QQ群索取)

x
回复

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 21:35 , Processed in 0.028750 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表