⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chartunit.pas

📁 生成PDF文档的控件
💻 PAS
字号:
unit ChartUnit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, TeEngine, Series, TeeProcs, Chart, VPDFDoc;

type
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
    DemoChart: TChart;
    BarSeries1: TBarSeries;
    BarSeries2: TBarSeries;
    BarSeries3: TBarSeries;
    Panel1: TPanel;
    Label1: TLabel;
    RadioGroup2: TRadioGroup;
    ComboBox1: TComboBox;
    CheckBox2: TCheckBox;
    Button1: TButton;
    VPDF: TVPDF;
    procedure RadioGroup1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RadioGroup2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  Case RadioGroup1.ItemIndex of
    0: BarSeries1.MultiBar:=mbNone;
    1: BarSeries1.MultiBar:=mbSide;
    2: BarSeries1.MultiBar:=mbStacked;
    3: BarSeries1.MultiBar:=mbStacked100;
  end;
end;

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
    DemoChart.View3D:=CheckBox2.Checked;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
   H: Integer;
begin
  Randomize;
  with BarSeries1 do
     for H:=1 to 12 do Add( Random(100),ShortMonthNames[H],clTeeColor);
  with BarSeries2 do
     for H:=1 to 12 do Add( Random(100),ShortMonthNames[H],clTeeColor);
  with BarSeries3 do
     for H:=1 to 12 do Add( Random(100),ShortMonthNames[H],clTeeColor);
  ComboBox1.Items.Clear;
  for H:=0 to DemoChart.SeriesCount-1 do
      ComboBox1.Items.Add(DemoChart.Series[H].Name);
  ComboBox1.ItemIndex:=0;
end;

procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
  With DemoChart.Series[ComboBox1.ItemIndex] as TBarSeries do
       BarStyle:=TBarStyle(RadioGroup2.Itemindex);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   ChartRect: TRect;
begin
    VPDF.BeginDoc;
    ChartRect.Left := 0;
    ChartRect.Right := 596;
    ChartRect.Top := 0;
    ChartRect.Bottom := 400;
    DemoChart.PrintPartialCanvas( VPDF.CurrentPage.Canvas, ChartRect );
    VPDF.EndDoc;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -