📄 unit2.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 + -