VCL组件DevExpress VCL图表控件中文指南 - 如何实现值标签自定义?

DevExpress VCL拥有230+个VCL界面控件、40+个自定义设计的VCL应用主题,它能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序。

在刚更新的DevExpress VCL v23.1组件库中,包含了以下新的一些特性/功能:

  • 增强的高DPI分辨率支持
  • "Light" 样式渲染
  • Windows 11主题
  • VCL图表控件

在本文中,我们将重点介绍v23.1版本的图标控件中实现的一个重要特性——自定义轴、系列和总标签显示文本的功能,这个新功能对多种使用场景都十分有用,包括需要对所有值标签应用格式化模式、强调某些轴/系列值、为不同数量级显示不同的测量单位等。

DevExpress VCL v23.1正式版下载(Q技术交流:523159565)

如何将格式化模式应用于值标签

DevExpress VCL Chart控件现在支持高级格式化模式,类似于我们的WinForms Chart控件,格式化模式可以由静态文本和一个或多个支持的占位符字段标记组成,这些占位符字段标记包含在大括号中。

所有显示数值的占位符标记也支持数值格式模式,例如,下面的格式化模式显示具有两位小数点的浮点序列值:{V:0.00},大括号外的文本定义了相同格式化模式的通用值标签。

您可以将相同/不同的格式化模式分配给图表、参数轴、值轴或简单序列的总标签中所有序列值的标签。

系列值标签自定义

没有格式化模式的序列值标签按原样显示值,简单系列也向标签添加相应的参数。

要在设计时将格式化模式应用于所有值标签(对于一个系列),您必须:

  1. 双击Chart控件来调用Chart Designer对话框。
  2. 选择目标系列。
  3. Object Inspector(对象检查器)中展开View 和 ValueLabels 节点。
  4. TextFormat属性指定一个格式模式(例如{V:0.00}M km²)。

在这个特殊的实例中,值标签显示带有两个小数点后跟着一个度量单位的序列值。

总标签自定义

要自定义显示在Doughnut系列中心的Total标签,您必须:

  1. 确保选择了目标系列。
  2. Object Inspector(对象检查器)中展开View 和TotalLabel 节点。
  3. 将相同的格式化模式分配给 TextFormat 属性。

完成后,Total标签将使用与value标签相同的格式:

如何自定义个性化值标签

除了格式化模式(用于自定义值标签中的显示文本)之外,还可以根据特定条件自定义单个标签——例如,可以隐藏中间点的值标签,或者为不同的数量级显示不同的测量单位。DevExpress VCL的图表类包括以下值标签自定义事件,这些事件在Chart控件决定如何绘制单个标签时发生:

用户可以处理这些事件来标识当前处理的标签,并定义Chart控件在屏幕上绘制标签的方式。例如,您可以通过以下方式在标记不同数量级的轴和序列值的标签中显示不同的测量单位:

  • 如果一个序列值超过100万,对应的值标签会显示百万数字后面的M字符。
  • 如果序列值超过1000但小于100万,则相应的值标签显示后面跟着k字符的千位数字。

要实现这一点,需要处理 OnGetValueLabelDrawParameters 事件:

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;

然后,处理OnGetAxisValueLabelDrawParameters事件:

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;

因此,序列和轴值标签显示不同数量级的不同测量单位:


更多DevExpress线上公开课、中文教程资讯请上中文网获取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DevExpress VCL是一个功能强大的控件库,提供许多可自定义控件组件,适用于Delphi和C++Builder IDE。版本19.1.2完整版可以与Delphi 7至Delphi 11版本进行兼容。提供了各种各样的控件,包括网格控件图表控件、导航控件、表单控件、编辑控件、布局控件、菜单控件等。它还提供了两个主题:Light和Dark,以满足不同用户的需求。除了控件组件外,DevExpress VCL还提供了很多工具和服务,包括打印和报表工具,代码生成器,文档管理工具等。此外,它还支持Unicode字符集和跨平台开发。总之,DevExpress VCL是一个功能强大的控件库,可以提高开发人员的开发效率和应用程序性能。 ### 回答2: DevExpress VCL是一款Windows应用程序开发框架,该框架提供了大量的控件、工具和资源,能够简化Windows应用程序的开发过程。 VCL_19.1.2full source d7-d11 Alexandria是该框架的一个版本,其中包含了完整的源代码和对Delphi 7到Delphi 11 Alexandria版本的支持。 使用DevExpress VCL可以快速创建强大的Windows应用程序,包括各种类型的控件,如文本编辑器、表格、图表和图形,可以进行丰富的数据可视化,大大提高了用户界面的质量。 此版本还加入了实用的开发工具,如预览控制、代码生成器和调试工具等,使开发人员能够更加高效地开发高质量的Windows应用程序。 总的来说,DevExpress VCL_19.1.2full source d7-d11 Alexandria是一个非常实用的Windows应用程序开发框架,具有强大的功能和大量的功能,使开发人员能够更快地创建高质量的Windows应用程序。 ### 回答3: DevExpress VCL是一款功能强大的开发工具,可以帮助开发人员加快应用程序的开发过程,同时还提供了一系列质量优异的控件组件,能够满足各种开发场景的需要。其中VCL 19.1.2 Full Source是DevExpress VCL最新版本,在Delphi 7到Delphi 11 Alexandria的开发环境下良好运行。它包含了一系列优质的控件组件,如日历控件、表格控件图表控件等,这些功能强大的控件可以帮助开发人员快速构建出高效、美观的应用程序。同时,它还提供了全面的源代码,让开发人员可以更加灵活地修改和定制控件,以适应自己的开发需求。将DevExpress VCL 19.1.2 Full Source应用于开发过程中,不仅可以提升开发效率,还可以提高应用程序的质量和稳定性,从而给用户带来更好的使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值