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

📄 unit2.pas

📁 suite component ace report
💻 PAS
字号:
unit Unit2;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, Grids, DBGrids, DB, DBTables, sctctrl, StdCtrls, Sctvar,
  Sctrep, ExtCtrls, Buttons, Sctbtn, DbChart, Teengine, Chart, Series,
  AcePage, TeeProcs;

type
  TChartForm = class(TForm)
    ItemsSource: TDataSource;
    ItemsTable: TTable;
    Panel1: TPanel;
    HorizBarSeries1: THorizBarSeries;
    Chart: TDBChart;
    OrdersTable: TTable;
    OrdersSource: TDataSource;
    ReportHeaderBand: TSctBand;
    ReportHeaderBandlevel: TSctLevel;
    PageHeaderBand: TSctBand;
    PageHeaderBandlevel: TSctLevel;
    DetailBand: TSctBand;
    DetailBandlevel: TSctLevel;
    PageFooterBand: TSctBand;
    PageFooterBandlevel: TSctLevel;
    ReportFooterBand: TSctBand;
    ReportFooterBandlevel: TSctLevel;
    ReportPage: TSctGrouppage;
    SctReport1: TSctReport;
    SctReportButton1: TSctReportButton;
    svarDateTime: TSctDateTimeVar;
    svarPage: TSctPageVar;
    ChartBitmap: TSctExprvar;
    SctImageLabel1: TSctImageLabel;
    ChartMetaFile: TSctExprVar;
    SctImageLabel2: TSctImageLabel;
    SctVarlabel1: TSctVarlabel;
    SctVarlabel2: TSctVarlabel;
    procedure OrdersSourceDataChange(Sender: TObject; Field: TField);
    procedure ChartBitmapGetData(oVar: TSctvar);
    procedure ChartMetaFileGetData(oVar: TSctVar);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ChartForm: TChartForm;

implementation

{$R *.DFM}

procedure TChartForm.OrdersSourceDataChange(Sender: TObject;
  Field: TField);
begin
  Chart.CheckDataSource( HorizBarSeries1 );
end;

procedure TChartForm.ChartBitmapGetData(oVar: TSctvar);
var
  Stream: TStream;
begin
  with TBitmap.Create do
  try
    Width := Chart.Width;
    Height := Chart.Height;
    Chart.Draw(Canvas, Bounds(0,0,Width, Height));
    Stream := TMemoryStream.Create;
    try
      SaveToStream(Stream);
      oVar.AsStream := Stream;
    finally
      Stream.Free;
    end;
  finally
    free;
  end;
end;

procedure TChartForm.ChartMetaFileGetData(oVar: TSctVar);
var
  Stream: TStream;
  MetaFile: TMetaFile;
  MetaFileCanvas: TMetaFileCanvas;
begin
  MetaFile := TMetaFile.Create;
  MetaFile.Width := Chart.Width;
  MetaFile.Height := Chart.Height;
  MetaFileCanvas := TMetaFileCanvas.Create(MetaFile, 0);
  Chart.DrawToMetaCanvas(MetaFileCanvas, Bounds(0,0,Chart.Width, Chart.Height));
  MetaFileCanvas.Free;
  Stream := TMemoryStream.Create;
  MetaFile.SaveToStream(Stream);
  oVar.AsStream := Stream;
  Stream.Free;
  MetaFile.Free;
end;

end.

⌨️ 快捷键说明

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