提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|产品更新|编辑:况鱼杰|2019-10-22 10:46:17.173|阅读 651 次
概述:原生的 Delphi/C++Builder控件TRichView已更新至v18,新增新的高DPI支持等功能,还有一些其他的改进,欢迎下载!本章将会介绍更新新闻的上部分,DPI意识和缩放的更改,Lazarus 2受支持,度量单位,长度的新类型,用户界面本地化和SRVControls。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
TRichView 是一套 Delphi/C++Builder 控件,主要用于显示、编辑和打印超文本文档。该控件支持各种各样不同的特征属性(字体、上标和下标,文本背景颜色,自定义下拉列表)。文档中可以包含表格、图片、在图像列表中所选取的图像、任意的 Delphi 控件、文档居左等。
TRichView还有更多的更改,在TRichView更新新闻(下)>>可以查看。
DPI意识和缩放的更改
DPI意识和缩放进行了许多更改,以支持高DPI显示模式并使文档独立于TRichView DPI。(DPI-每英寸点数,是屏幕像素密度的度量)。
用户定义的文档DPI和缩放
可以通过将文档的DPI分配给TRichView.DocumentPixelsPerInch属性来定义它。本质上,这意味着缩放。
例如,如果我们假设DocumentPixelsPerInch = 96为100%,则DocumentPixelsPerInch = 192会将文档中的所有内容增加两次,例如应用200%缩放。
注意:此缩放与我们的WYSIWYG编辑器(ScaleRichView)中的缩放不同。ScaleRichView按比例缩放所有大小,包括文本宽度,这对于所见即所得是必需的。副作用是,字符间距在低缩放中可能并不理想。相反,在TRichView中进行缩放可以以任何DPI /缩放百分比产生理想的输出,但是文本宽度不会按比例缩放。
文档中只有两种对象类型不会自动缩放:控件和图像列表中的图像。如果您的文档包含这些对象,则需要手动调整控件的大小并更改图像列表。
在Lazarus 2+中,也可以通过从TImageList请求文档DPI的图像来缩放图像列表中的图像。DocumentPixelsPerInch仅影响在TRichView和TRichViewEdit中显示的文档。它不影响打印,导出和导入(显然,图像列表中的控件和图像除外)。
以像素为单位
此版本开始以像素为单位,如果为TRVStyle。单位 = rvstuPixels,尺寸以逻辑像素而不是物理屏幕像素为单位。逻辑像素的DPI在TRVStyle中定义。UnitsPixelsPerInch属性,默认情况下为96,因此TRichView像素在浏览器中的处理方式类似于HTML / CSS像素。通常,更改此属性没有任何意义(除非您要模拟物理屏幕像素的旧模式;在这种情况下,请将屏幕DPI分配给此属性)。
不仅尺寸以TRVStyleUnits为单位受此属性影响。假定在这些逻辑像素中测量了未缩放图片,背景图像和TRichView边距的大小。当显示在屏幕上时,这些大小会从UnitsPixelsPerInch缩放到屏幕DPI(或DocumentPixelsPerInch,如果已定义)。
每个监视器的DPI意识
在新版本的Delphi / C ++ Builder中,我们的组件支持可能具有不同DPI的不同监视器(每个监视器的DPI意识,Windows 10功能)。如果这些显示器的屏幕像素密度不同,则只需将其从一个显示器移动到另一台显示器即可更改Delphi格式的DPI。
针对Delphi和C ++ Builder 10.3(每监视器v2模式)实现了完整且理想的每监视器DPI意识。针对Delphi和C ++ Builder 10.1和10.2,每个监视器的DPI意识不太先进。在我们的RichViewActions的所有编辑器和对话框中都实现了每监视器DPI意识。
缩放ScaleRichView
在较旧版本的ScaleRichView中,缩放是相对于96 DPI计算的。这意味着:如果ZoomPercent = 100,则一英寸等于96屏幕像素。结果,在高DPI显示模式下100%缩放太小。在新版本中,缩放是相对于屏幕DPI(或对于Delphi 10.1及更高版本,是当前监视器DPI)进行计数的。此更改仅影响缩放,不影响页面内容。
ScaleRichView中的控件
以前,如果屏幕DPI <> 96,则ScaleRichView不支持正确显示插入的控件(它们显示得太大)。在计算非文本对象的大小时,ScaleRichView使用96 DPI。为什么总是需要插入的控件使用96 DPI,即使屏幕/监视器DPI不同。在新版本中,我们为RAD Studio 10.1及更高版本解决了此问题。不幸的是,如果在旧版本的Delphi中将ScaleRichView与插入的控件一起使用,则需要关闭对应用程序的DPI感知,它必须始终使用96 DPI。
SRVControls
SRVControls是一组控件,旨在插入ScaleRichView文档中(按钮,复选框,编辑框,列表框等)。从此版本开始,它们支持DPI,并支持高级DPI显示模式。
Lazarus 2受支持
影响TRichView的Lazarus 2最有趣的功能是多分辨率TImageList。在Lazarus 2中,TImageList可以包含同一图像的多个版本,并且控件可以请求具有必要大小的图像。如果TImageList有此图像,它将返回它。否则,它可能从最近的现有图像生成它。
我们的组件在以下位置使用图像列表:
特殊的文档对象类型(项目符号,热点,某些段落标记类型)。
智能弹出窗口(可以在插入符号的位置显示的按钮)。
ScaleRichView中的工具栏(可以在WYSIWYG编辑器的滚动条区域或弹出图像中显示)。
在所有这些情况下,我们都实现了对Lazarus 2+图像列表的支持。
PS:RAD Studio 10.3中也实现了多分辨率图像列表,但是方式不同。Delphi使用新组件:TImageCollection和TVirtualImageList。与Lazarus 2不同,新图像列表不需要控件的特殊支持。但是,它们必须手动修改图像大小。
度量单位
EMU
在TRichView / ScaleRichView文档中,对象的整数大小以TRVStyle中定义的单位进行度量
在此更新中,我们为单位添加了另一个选项:EMU(英制公制单位)。1 EMU = 1/914400英寸= 1/36000 mm。因此,如果将EMU用作内部度量单位,则可以以合理的精度将它们转换为mm,inchs和back。现在,我们所有的ActionTest和ReportEditor演示都使用EMU而不是twips 。
像素
如果TRVStyle.Units = rvstuPixels,则所有值均以DPI独立的逻辑像素(而不是较旧版本的屏幕像素)进行测量,并且DPI = TRVStyle.UnitsPixelsPerInch。
长度的新类型
和以前一样,在TRVStyle.Units中测量的所有属性都具有TRVStyleLength类型。为了使我们的代码更清楚,我们增加了更多类型代表大小的整数值:
TRVPixelLength:此类型用于DPI = TRVStyle.UnitsPixelsPerInch(例如TRichView.LeftMargin,RightMargin,MaxTextWidth)以逻辑像素为单位的尺寸(TRVPixel96Length)。
TRVPixel96Length:此类型用于DPI = 96(许多尺寸为其他控件;例如,TRVFontComboBox.DropDownWidth和ItemHeight)。
用户界面本地化
在此更新中,RichViewActions的以下翻译已更新:
葡萄牙语(巴西),感谢Alexandre Garcia
西班牙语,多亏RaúlIzquierdo
土耳其语,感谢ErtanKüçükoglu
SRVControls
SRVControls是一组控件,旨在插入ScaleRichView WYSIWYG编辑器中。虽然可以插入任何控件,但SRVControls更好,因为:
可以缩放它们而不会损失图像质量;
将SRVControl的编辑,备注,组合框插入TSRichViewEdit时可以显示脱字号。
SRVControls可以在ScaleRichView文档,TRichView文档或表单中使用。
SRVControls对于ScaleRichView的注册用户是免费的。
它们包括:按钮,复选框,单选按钮,面板,组框,滚动条,编辑框,备忘录,列表框,组合框,选项卡集,图像滚动器,标签。
它们大多数提供标准控件的功能,但其中一些是高级的:
组合框和列表框可以显示图像,项目可以缩进以显示树状结构,项目可以具有自定义字体和颜色。
列表框可以在项目中包含复选框。
按钮可以包含图像。
选项卡集允许重新排列和关闭选项卡。
在此更新中,SRVControls得到了改进。
新外观
以前的SRVControls外观图像不理想,我们受RAD Studio 10.3外观的启发(但不完全相同),设计出一种新颖而现代的外观。在RAD Studio XE2和更高版本中,SRVControls的新图形使用GDI +来平滑绘制带有抗锯齿线和填充边框的图形。
SRVControls的经典外观不会被删除。可以通过将srvcsClassic分配给SRVControls的SRVControlStyle属性来返回。此外,经典外观经过重新设计,现在看起来更好。
新外观的重要特征是对颜色的集中控制。在经典外观中,所有颜色都在组件本身中定义,而在新外观中,大多数颜色都在全局RVControlsPainter单例对象(RVControls.pas)中定义。您可以分配单独的颜色,或选择预定义的颜色主题之一:浅蓝色,春天绿色,黄土色,高对比度。
Unicode
SRVControls在所有版本的Delphi中都是Unicode。
高DPI
自此更新以来,所有SRVControl均支持高DPI显示模式。它们在新版本的Delphi中支持每个监视器的DPI意识。
双向文本
自此更新以来,所有SRVControl都可以与双向文本一起正常使用。BiDiMode属性已发布并得到完全支持。
编辑和备忘录
在此更新中,TSRVEdit和TSRVMemo被完全重写。以前,它们基于标准的编辑控件。他们只是改变了图纸。现在,它们是从头开始用Pascal编写的。
它为他们提供了以下优点:
在所有版本的Delphi中都是Unicode。
完整的颜色自定义,包括选择颜色。
支持备忘录中的滚动条。
SRVMemo比标准备忘录的工作速度更快。
选项卡集
TSRVTabSet具有一个新属性:OppositeTabPosition。默认情况下,选项卡显示在顶部(用于水平选项卡集)或左侧(用于垂直选项卡集)。此属性允许在/下方/右侧显示它们。
其他
SRVControls中还有许多其他调整和修复(在此处列出过多)。
TRichView还有更多的更改,在TRichView更新新闻(下)>>可以查看。
如果您对想要购买正版授权TRichView,可以联系咨询相关问题。
关注慧聚IT微信公众号 ☟☟☟,了解产品的最新动态及最新资讯。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
知名C/C++开发工具CLion全新发布v2024.3,新版本新语言引擎有显著改进等,欢迎下载新版体验!
强大的VS插件CodeRush已正式发布v24.2.3,新版本现在可以运行xUnit.Net v3测试等,欢迎下载最新版体验!
Spire.PDF 10.12.4 最新版本支持在进行多页打印时设置自动旋转方向。同时,一些已知问题也在本次更新中被成功修复,例如打印 PDF 文档时内容丢失的问题,欢迎下载体验~
日程安排控件dhtmlxScheduler v7.2全新发布,新版本增强并增加了编辑、修改等多个操作体验,欢迎下载最新版试用~
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢