最近不知怎么的,想研究一下图表。先上效果图:

功能代码:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeeEdit, ExtCtrls, TeeProcs, TeEngine, Series, Chart, StdCtrls,
ComCtrls; type
TForm1 = class(TForm)
ChartEditorPanel1: TChartEditorPanel;
ChartEditor1: TChartEditor;
ChartEditorPanel2: TChartEditorPanel;
Chart1: TChart;
Series1: TBarSeries;
Series2: TBarSeries;
Button1: TButton;
ComboBox1: TComboBox;
Label1: TLabel;
ComboBox2: TComboBox;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure Chart1ClickAxis(Sender: TCustomChart; Axis: TChartAxis;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Chart1ClickLegend(Sender: TCustomChart; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);
begin
Self.Position := poScreenCenter;
//右下角图表编辑器树形显示
ChartEditorPanel2.Editor.Tree.Visible := True;
//随机添加10个数
Series1.FillSampleValues();
Series2.FillSampleValues();
end; procedure TForm1.Button1Click(Sender: TObject);
begin
ChartEditor1.Execute;
end; procedure TForm1.ComboBox1Change(Sender: TObject);
var
Pos: TTabPosition;
begin
Pos := tpTop;
case ComboBox1.ItemIndex of
: Pos := tpTop;
: Pos := tpBottom;
: Pos := tpLeft;
: Pos := tpRight;
end;
ChartEditorPanel1.Editor.TabGeneral.PageControl.TabPosition := Pos;
end; procedure TForm1.ComboBox2Change(Sender: TObject);
var
ts: TTabStyle;
begin
ts := tsTabs;
case ComboBox2.ItemIndex of
: ts := tsTabs;
: ts := tsButtons;
: ts := tsFlatButtons;
end;
ChartEditorPanel1.Editor.TabGeneral.PageControl.Style := ts;
end; procedure TForm1.Chart1ClickAxis(Sender: TCustomChart; Axis: TChartAxis;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ChartEditorPanel1.Editor.TabAxis.Show;
ChartEditorPanel1.Editor.TabAxis.PageControl.ActivePage.PageIndex;
end; procedure TForm1.Chart1ClickLegend(Sender: TCustomChart;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ChartEditorPanel1.Editor.TabLegend.Show;
end; end.

界面代码:

object Form1: TForm1
Left =
Top =
Width =
Height =
Caption = '图表编辑器ChartEditor和ChartEditorPanel功能演示'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch =
TextHeight =
object Label1: TLabel
Left =
Top =
Width =
Height =
Caption = 'Tabs位置:'
end
object Label2: TLabel
Left =
Top =
Width =
Height =
Caption = 'Tabs风格:'
end
object ChartEditorPanel1: TChartEditorPanel
Left =
Top =
Width =
Height =
Chart = Chart1
TabOrder =
end
object ChartEditorPanel2: TChartEditorPanel
Left =
Top =
Width =
Height =
Chart = Chart1
TabOrder =
end
object Chart1: TChart
Left =
Top =
Width =
Height =
Title.Text.Strings = (
'图表编辑器测试')
OnClickAxis = Chart1ClickAxis
OnClickLegend = Chart1ClickLegend
TabOrder =
object Series1: TBarSeries
Marks.Callout.Brush.Color = clBlack
Marks.Visible = True
SeriesColor =
Gradient.Direction = gdTopBottom
XValues.Name = 'X'
XValues.Order = loAscending
YValues.Name = 'Bar'
YValues.Order = loNone
end
object Series2: TBarSeries
Marks.Callout.Brush.Color = clBlack
Marks.Visible = True
SeriesColor = clSilver
Gradient.Direction = gdTopBottom
XValues.Name = 'X'
XValues.Order = loAscending
YValues.Name = 'Bar'
YValues.Order = loNone
end
end
object Button1: TButton
Left =
Top =
Width =
Height =
Caption = '调用图表编辑器'
TabOrder =
OnClick = Button1Click
end
object ComboBox1: TComboBox
Left =
Top =
Width =
Height =
Style = csDropDownList
ItemHeight =
TabOrder =
OnChange = ComboBox1Change
Items.Strings = (
'Top'
'Bottom'
'Left'
'Right')
end
object ComboBox2: TComboBox
Left =
Top =
Width =
Height =
Style = csDropDownList
ItemHeight =
ItemIndex =
TabOrder =
Text = 'Tabs'
OnChange = ComboBox2Change
Items.Strings = (
'Tabs'
'Buttons'
'FlatButtons')
end
object ChartEditor1: TChartEditor
Chart = Chart1
Left =
Top =
end
end

TChart-图表编辑器的测试的更多相关文章

  1. Cocos2d-x中常用粒子编辑器ParticleDesigner测试例子

    打开 ParticleDesigner 随意选择一种效果 选择save. 类型选择 cocosd(plist)类型保存至桌面 命名为myplist导出至桌面 选择右侧Emitter Config可设置 ...

  2. [译]如何在Unity编辑器中添加你自己的工具

    在这篇教程中你会学习如何扩展你的Unity3D编辑器,以便在你的项目中更好的使用它.你将会学习如何绘制你自己的gizmo,用代码来实现创建和删除物体,创建编辑器窗口,使用组件,并且允许用户撤销他们所作 ...

  3. android测试分析1

    Android测试框架,开发环境中集成的一部分,提供一个架构和强有力的工具 可以帮助测试你的应用从单元到框架的每个方面. 测试框架有这些主要特征: 1.Android测试组件基于Junit.你可以使用 ...

  4. iozone测试磁盘性能

    什么是iozone? iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能. 可以测试 Read, write, re-read,re-write, read ...

  5. Unity StreamingMipmaps 简单测试

    StreamingMipmaps是Unity2018.2中加入的新功能,意指通过CPU控制,只加载部分Mipmap图片以节省更多的内存及显存空间. 我测试时遇到了问题,后来发现必须打包出来测才有效(注 ...

  6. [开发笔记]-Jqplot图表初体验

    文章内容为初次使用Jqplot图表插件的测试代码,仅供参考. <html xmlns="http://www.w3.org/1999/xhtml"> <head& ...

  7. 使用iozone测试磁盘性能

    IOzone是一个文件系统测试基准工具.可以测试不同的操作系统中文件系统的读写性能.可以通过 write, re-write, read, re-read, random read, random w ...

  8. FastReport.Net使用:[23]图表(Chart)控件

    图表基本设置 1.拖放一个图表控件到报表设计界面中. 2.右键菜单“编辑”或者双击图表进入图表编辑器 3.将原有的簇状柱状图删除,添加圆环图 4.绑定数据源,并且指定X,Y轴数据. X轴数据为科目名称 ...

  9. 使用iozone测试磁盘性能(测试文件读写)

    IOzone是一个文件系统测试基准工具.可以测试不同的操作系统中文件系统的读写性能.可以通过 write, re-write, read, re-read, random read, random w ...

随机推荐

  1. RUST actix-web连接有密码的Redis数据库

    RUST actix-web连接有密码的Redis数据库 actix-web的example里面,使用了自己的actix-redis,但是我尝试了一下,并不好用 替换成另一连接池,deadpool-r ...

  2. 磁盘文件系统管理与LVM逻辑卷

    一.磁盘以及分区管理 无论是Linux系统还是Windows系统.当现有硬盘的规划不能满足当前需求时.我们就需要将其重新规划和调整 实现上述操作我们就需要用到fdisk磁盘及分区管理工具.此工具是大多 ...

  3. css浮动(float)详解

    一.什么是浮动? 浮动,顾名思义,就是漂浮的意思.指的是一个元素脱离文档流,悬浮在父元素之上的现象. 二.如何产生浮动? 给元素本身添加float属性 float值: left 元素向左浮动. rig ...

  4. Linux 查看CPU、内存、机器型号等硬件信息

    # 查看CPU信息 #查看CPU信息(型号) [root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 32 ...

  5. SSM/SSH框架的MySQL 读写分离实现的一种简单方法

    简介 MySQL已经是使用最为广泛的一种数据库,往往实际使用过程中,为实现高可用及高性能,项目会采用主丛复制的方式实现读写分离.MySQL本身支持复制,通过简单的配置即可实现一主多从的配置,具体实现可 ...

  6. python安装模块速度慢的解决方法

    1.Win+R,cmd 2.pip install pqi 3.pqi use aliyun

  7. ResNet详解与分析

    目录 Resnet要解决的是什么问题 Residual Block的设计 ResNet 网络结构 error surface对比 Residual Block的分析与改进 小结 参考 博客:博客园 | ...

  8. ORB-SLAM2 论文&代码学习 —— LoopClosing 线程

    转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12369339.html 本文要点: ORB-SLAM2 LoopC ...

  9. thinkPHP中Model的字段映射问题

    在model定义中不要自己定义相应的字段变量,因为一旦定义,之后的赋值会直接赋给自己定义的属性,但实际上model抽象类重写了__set()方法,将未定义的属性存入了$data里面,写入数据库是也会从 ...

  10. 学会springboot多环境配置方案不用5分钟

    一 前言 本篇文章的主题是在springboot中写多个配置文件,指定让个配置文件生效,以便于达到在开发环境,测试环境,线上环境根据不同的配置灵活应用:读完本篇你将获得,学会springboot的多环 ...