提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2023-07-03 09:44:23.523|阅读 47 次
概述:本文将介绍在DevExpress VCL v23.1图表控件中实现一个重要自定义功能,欢迎下载最新版组件体验!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
DevExpress VCL拥有230+个VCL界面控件、40+个自定义设计的VCL应用主题,它能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序。
在刚更新的DevExpress VCL v23.1组件库中,包含了以下新的一些特性/功能:
在本文中,我们将重点介绍v23.1版本的图标控件中实现的一个重要特性——自定义轴、系列和总标签显示文本的功能,这个新功能对多种使用场景都十分有用,包括需要对所有值标签应用格式化模式、强调某些轴/系列值、为不同数量级显示不同的测量单位等。
DevExpress技术交流群8:523159565 欢迎一起进群讨论
DevExpress VCL Chart控件现在支持高级格式化模式,类似于我们的WinForms Chart控件,格式化模式可以由静态文本和一个或多个支持的占位符字段标记组成,这些占位符字段标记包含在大括号中。
所有显示数值的占位符标记也支持数值格式模式,例如,下面的格式化模式显示具有两位小数点的浮点序列值:{V:0.00},大括号外的文本定义了相同格式化模式的通用值标签。
您可以将相同/不同的格式化模式分配给图表、参数轴、值轴或简单序列的总标签中所有序列值的标签。
没有格式化模式的序列值标签按原样显示值,简单系列也向标签添加相应的参数。
要在设计时将格式化模式应用于所有值标签(对于一个系列),您必须:
在这个特殊的实例中,值标签显示带有两个小数点后跟着一个度量单位的序列值。
要自定义显示在Doughnut系列中心的Total标签,您必须:
完成后,Total标签将使用与value标签相同的格式:
除了格式化模式(用于自定义值标签中的显示文本)之外,还可以根据特定条件自定义单个标签——例如,可以隐藏中间点的值标签,或者为不同的数量级显示不同的测量单位。DevExpress VCL的图表类包括以下值标签自定义事件,这些事件在Chart控件决定如何绘制单个标签时发生:
用户可以处理这些事件来标识当前处理的标签,并定义Chart控件在屏幕上绘制标签的方式。例如,您可以通过以下方式在标记不同数量级的轴和序列值的标签中显示不同的测量单位:
要实现这一点,需要处理 事件:
procedure TMyForm.cdAreaGetValueLabelDrawParameters(Sender: TdxChartCustomDiagram; AArgs: TdxChartGetValueLabelDrawParametersEventArgs); begin if AArgs.SeriesPoint.Value >= 1000 * 1000 then // Millions AArgs.Text := Format('%.1fM', [AArgs.SeriesPoint.Value / (1000 * 1000)]) else if AArgs.SeriesPoint.Value >= 1000 then // Thousands AArgs.Text := Format('%.0fk', [AArgs.SeriesPoint.Value / 1000]) else AArgs.Text := Format('%0f', [AArgs.SeriesPoint.Value]); end;
然后,处理事件:
procedure TMyForm.cdAreaGetAxisValueLabelDrawParameters(Sender: TdxChartCustomDiagram; AArgs: TdxChartGetAxisValueLabelDrawParametersEventArgs); begin if AArgs.Axis.ClassName <> 'TdxChartAxisY' then Exit; if AArgs.Value >= 1000 * 1000 then // Millions AArgs.Text := Format('%.1fM', [AArgs.Value / (1000 * 1000)]) else if AArgs.Value >= 1000 then // Thousands AArgs.Text := Format('%.0fk', [AArgs.Value / 1000]) else AArgs.Text := Format('%0f', [AArgs.Value]); end;
因此,序列和轴值标签显示不同数量级的不同测量单位:
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:慧都网本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress VCL Controls用于Delphi和C ++ Builder的VCL组件,提供高影响力的业务解决方案。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢