📄 chartitem.pas
字号:
unit ChartItem;
interface
uses Windows, Classes, Graphics, RVFuncs, RVScroll, DLines, RVItem, Chart, RVStyle;
const
rvsChart = -1001;
type
TRVChartItemInfo = class (TRVControlItemInfo)
public
constructor Create(RVData: TPersistent); override;
constructor CreateEx(RVData: TPersistent; AChart: TChart; AVAlign: TRVVAlign);
function GetBoolValueEx(Prop: TRVItemBoolPropertyEx; RVStyle: TRVStyle): Boolean; override;
procedure Print(Canvas: TCanvas; x,y,x2: Integer; Preview, Correction: Boolean;
const sad: TRVScreenAndDevice; RichView: TRVScroller; dli: TRVDrawLineInfo;
Part: Integer; ColorMode: TRVColorMode; RVData: TPersistent); override;
end;
implementation
{============================ TRVChartItemInfo ================================}
constructor TRVChartItemInfo.Create(RVData: TPersistent);
begin
inherited Create(RVData);
StyleNo := rvsChart;
end;
constructor TRVChartItemInfo.CreateEx(RVData: TPersistent; AChart: TChart; AVAlign: TRVVAlign);
begin
inherited CreateEx(RVData, AChart, AVAlign);
StyleNo := rvsChart;
end;
function TRVChartItemInfo.GetBoolValueEx(Prop: TRVItemBoolPropertyEx; RVStyle: TRVStyle): Boolean;
begin
case Prop of
rvbpPrintToBMP:
Result := False;
else
Result := inherited GetBoolValueEx(Prop, RVStyle);
end;
end;
procedure TRVChartItemInfo.Print(Canvas: TCanvas; x, y, x2: Integer;
Preview, Correction: Boolean; const sad: TRVScreenAndDevice;
RichView: TRVScroller; dli: TRVDrawLineInfo; Part: Integer;
ColorMode: TRVColorMode; RVData: TPersistent);
var sv: Integer;
bmp: TBitmap;
begin
if Preview then begin
bmp := TBitmap.Create;
bmp.Width := Control.Width;
bmp.Height := Control.Height;
TChart(Control).Draw(bmp.Canvas, Rect(0,0, Control.Width,Control.Height));
Canvas.StretchDraw(Bounds(x,y,dli.Width,dli.Height),bmp);
bmp.Free;
end
else begin
sv := SaveDC(Canvas.Handle);
TChart(Control).PrintPartial(Bounds(x,y,dli.Width,dli.Height));
RestoreDC(Canvas.Handle, sv);
end;
end;
initialization
RegisterRichViewItemClass(rvsChart, TRVChartItemInfo);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -