原生的 Delphi/C++Builder控件TRichView已更新至v18,新增新的高DPI支持等功能,还有一些其他的改进,欢迎下载!本章将会介绍更新新闻的下部分,具有多分辨率图像列表的新演示项目, 格动画,PDF导出和使用THTMLViewer的HTML导入。
最新版TRichView
TRichView还有更多的更改,在TRichView更新新闻(上)>>可以查看。
具有多分辨率图像列表的新演示项目
关于新图像列表
Lazarus 2和RAD Studio 10.3引入了可以包含不同大小图像的图像列表。它们的实现方式有所不同。在Lazarus,TImageList得到了改进。它可能包含不同大小的图像,并且组件可能会根据其DPI请求适当的图像。

在Delphi和C ++ Builder中,添加了两个新组件:TImageCollection(按名称分组的各种图像的集合)和TVirtualImageList(显示来自TImageCollection的图像的图像列表)。与Lazarus中不同,TVirtualImageList提供指定大小的图像,但是在更改DPI时可以更改图像大小。

这两个新图像列表都可以基于现有图片生成图片。例如,如果只有16×16和32×32的图像,则可以通过缩小32×32来生成24×24。两者都可以自动生成禁用的图像。但是,只有Delphi的TVirtualImageList可以将透明度应用于禁用的图像。因此,在Lazarus,我们仍然提供禁用图像的版本;在Delphi中,我们生成它们。
RAD Studio 10.3的新演示项目
展示我们组件功能的主要演示项目是TRichViewEdit和ScaleRichView的ActionTest演示的多个版本,以及ReportWorkshop的ReportEditor演示。
在此更新中,除了这些演示的现有版本之外,我们还为使用虚拟映像列表的Delphi和C ++ Builder 10.3添加了新的演示。它们在文件夹名称中具有_Multires后缀。
新的基于TRichViewEdit的ActionTest演示:
-
RichViewActions Demos DelphiUnicode ActionTest_MultiRes -对于Delphi
-
RichViewActions Demos CBuilderUnicode ActionTest_MultiRes-适用于C ++ Builder。
Delphi版本使用dmActionsImageCollection1.pas(图标集#1)和dmActionsImageCollection2.pas(图标集#1)中的两个TImageCollection组件以及dmActionsVirtualImageLists.pas中的TVirtualImageList组件(这些单元位于RichViewActions Source文件夹中)。图像集合包含RichViewActions,ScaleRichView和Report Workshop所需的所有图像。虚拟图像列表具有与Delphi 2009+演示中的普通图像列表相同的索引,因此您可以轻松地转换现有项目。
图像集合包含所有命令的16×16和32×32图像,以及所选命令的64×64图像。C ++版本是相同的,但是使用RichViewActions SourceCPP 文件夹中的dmActionsImageCollectionCPP1.cpp,dmActionsImageCollectionCPP2.cpp,dmActionsVirtualImageListsCPP.cpp。
这些演示与以前的ActionTest演示有以下区别:
-
它们可识别DPI(每个监视器v2)。
-
他们不使用TCoolBar,工具栏直接放置在窗体上,组合框放置在面板上。
-
删除了用于表格操作和单元格边框的工具栏(使用主菜单)。
-
添加了插入|公式命令。
-
添加了用于更改缩放的组合框。它允许在自动(当前监视器的DPI),50%(48 DPI),100%(96 DPI)等之间进行选择(对于较旧版本的Delphi / C,在演示中添加此组合框没有问题。 ++ Builder;也许将来我们会这样做)。

格动画
除了Gif动画外,我们的组件还支持另一种动画类型: 格动画。图像可以视为包含动画帧的 格。在以前的版本中,此功能仅适用于TBitmap。在此更新中,它适用于任何图像,只需指定水平和垂直的帧数以及动画间隔。
重要提示:自此更新以来,仅当在项目中包括RVGridAnimate单元时, 格动画才起作用。在其中添加了一个新的简单演示。
-
TRichView Demos DelphiUnicode Assorted Graphic GridAnimation
-
TRichView Demos CBuilderUnicode Assorted Graphic GridAnimation
它将加载PNG图像并对其进行动画处理。

PDF导出
新功能的实现方式使它们在大多数现有项目中都不需要更改。但是,有一个例外:PDF生成,因为DPI用于将各种度量单位转换为像素。我们的PDF导出演示(使用LLPDFLib,SynPDF,eDocEngine)进行了相应的更改。这些演示位于ThirdParty Export 文件夹中。
如果使用eDocEngine,则需要对其代码进行一些更改。
-
在gtExpIntf.inc中,添加:
{$DEFINE RichView_18}{$IFDEF RichView_18} {$DEFINE RichView12Up} {$DEFINE RichView16Up} {$DEFINE RichView17Up} {$DEFINE RichView173Up} {$DEFINE RichView18Up}{$ENDIF}
-
用附件替换gtRichViewIntf.pas。
gtRichViewIntf.pas
如果您有上述文件的多个副本,请全部替换。我已将此信息发送给Gnostice,以包含在下一个更新中。
使用THTMLViewer的HTML导入
自此更新以来,TRichView安装程序假定THTMLViewer包没有RADStudio 10.1、10.2、10.3的后缀,并且仅命名为FrameViewer.dproj。(在以前的版本中,假定它们分别命名为FrameViewerXE10.dproj,FrameViewerXE11.dproj,FrameViewerXE12.dproj)。
TRichView还有更多的更改,在TRichView更新新闻(上)>>可以查看。
如果您对想要购买正版授权TRichView,可以联系在线客服>>咨询相关问题。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!