Componentes.Terceros.TRichView/12.0.4/Demos/Addins/ChartItem/ChartItem.pas
david fddb8c1dff Importación inicial con versión 12.0.4
NO HAY CÓDIGO FUENTE

git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.TRichView@1 b34d35ef-135b-4489-b9d1-9916e9c25524
2010-01-11 12:26:42 +00:00

73 lines
2.2 KiB
ObjectPascal

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.