亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? series.pas

?? 第三方控件:PaintGrid.pas 網格型儀表控件源文件 Mymeter.pas 圓型儀表控件源文件 Project1是這兩個控件的使用范例。 該
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{*********************************************}
{  TeeChart Standard Series Types             }
{  Copyright (c) 1995-2005 by David Berneda   }
{  All Rights Reserved                        }
{                                             }
{   TCustomSeries                             }
{     TLineSeries                             }
{      THorizLineSeries                       }
{     TAreaSeries                             }
{      THorizAreaSeries                       }
{     TPointSeries                            }
{   TCustomBarSeries                          }
{     TBarSeries                              }
{     THorizBarSeries                         }
{   TCircledSeries                            }
{     TPieSeries                              }
{   TFastLineSeries                           }
{                                             }
{*********************************************}
unit Series;
{$I TeeDefs.inc}

interface

{$IFDEF D9}
{$INLINE OFF}  // Enable or disable inlining in Delphi 9
{$ENDIF}

uses
  {$IFNDEF LINUX}
  Windows,
  {$ENDIF}
  {$IFDEF CLX}
  QGraphics, QForms, QTypes,
  {$ELSE}
  Graphics, Forms,
  {$ENDIF}
  {$IFDEF D9}
  Types,
  {$ENDIF}
  SysUtils, Classes, TeEngine, Chart, TeCanvas, TeeProcs;

const
  PiDegree : Double = Pi/180.0;
  Tee_PieShadowColor = TColor($A0A0A0);

type
  TCustomLineSeries=class(TChartSeries)
  protected
    Function GetLinePen:TChartPen;
  public
    property LinePen:TChartPen read GetLinePen write SetPen;
  end;

  TCustomSeries=class;

  TSeriesClickPointerEvent=Procedure( Sender:TCustomSeries;
                                      ValueIndex:Integer;
                                      X, Y: Integer) of object;

  TCustomSeriesStack=(cssNone, cssOverlap, cssStack, cssStack100);

  TOnGetPointerStyle=Function( Sender:TChartSeries;
                               ValueIndex:Integer):TSeriesPointerStyle of object;

  TCustomSeries=class(TCustomLineSeries)
  private
    FAreaBrush          : TChartBrush;
    FAreaColor          : TColor;
    FAreaLinesPen       : TChartPen;
    FClickableLine      : Boolean;
    FColorEachLine      : Boolean;
    FDark3D             : Boolean;
    FDrawArea           : Boolean;
    FDrawLine           : Boolean;
    FInvertedStairs     : Boolean;
    FLineHeight         : Integer;
    FOutLine            : TChartHiddenPen;
    FPointer            : TSeriesPointer;
    FShadow             : TTeeShadow;  // 7.0
    FStacked            : TCustomSeriesStack;
    FStairs             : Boolean;
    FTransparency       : TTeeTransparency;

    { events }
    FOnClickPointer     : TSeriesClickPointerEvent;
    FOnGetPointerStyle  : TOnGetPointerStyle;

    { internal }
    BottomPos      : Integer;
    OldBottomPos   : Integer;
    OldX           : Integer;
    OldY           : Integer;
    OldColor       : TColor;
    tmpDark3DRatio : Double;

    Function CalcStackedPos(ValueIndex:Integer; Value:Double):Integer;
    Function GetAreaBrush:TBrushStyle;
    Function GetLineBrush:TBrushStyle;
    Procedure InternalCalcMargin(SameSide,Horizontal:Boolean; var A,B:Integer);
    Function PointOrigin(ValueIndex:Integer; SumAll:Boolean):Double;

    Procedure SetAreaBrush(Value:TChartBrush);
    Procedure SetAreaBrushStyle(Value:TBrushStyle);
    Procedure SetAreaColor(Value:TColor);
    Procedure SetAreaLinesPen(Value:TChartPen);
    procedure SetColorEachLine(const Value: Boolean);
    Procedure SetDark3D(Value:Boolean);
    Procedure SetDrawArea(Value:Boolean);
    Procedure SetGradient(Value:TChartGradient);
    Procedure SetInvertedStairs(Value:Boolean);
    Procedure SetLineBrush(Value:TBrushStyle);
    Procedure SetLineHeight(Value:Integer);
    procedure SetOutLine(const Value: TChartHiddenPen);
    Procedure SetPointer(Value:TSeriesPointer);
    Procedure SetShadow(Value:TTeeShadow);
    Procedure SetStacked(Value:TCustomSeriesStack);
    Procedure SetStairs(Value:Boolean);
  protected
    FGradient : TChartGradient;

    Procedure CalcHorizMargins(Var LeftMargin,RightMargin:Integer); override;
    Function CalcMarkLength:Integer; virtual;
    Procedure CalcVerticalMargins(Var TopMargin,BottomMargin:Integer); override;
    Procedure CalcZOrder; override;

    Function ClickedPointer( ValueIndex,tmpX,tmpY:Integer;
                             x,y:Integer):Boolean; virtual;

    function DoGetPointerStyle(ValueIndex:Integer):TSeriesPointerStyle;

    Procedure DrawAllValues; override; { 5.02 }
    Procedure DrawLegendShape(ValueIndex:Integer; Const Rect:TRect); override;
    Procedure DrawMark( ValueIndex:Integer; Const St:String;
                        APosition:TSeriesMarkPosition); override;
    Procedure DrawPointer(AX,AY:Integer; AColor:TColor; ValueIndex:Integer); dynamic;
    procedure DrawValue(ValueIndex:Integer); override;

    Function GetAreaBrushColor(AColor:TColor):TColor;
    class Function GetEditorClass:String; override;
    Function GetGradient:TChartGradient; virtual;
    Function GetTransparency:TTeeTransparency; virtual;
    procedure SetTransparency(const Value: TTeeTransparency); virtual;

    property Gradient:TChartGradient read GetGradient write SetGradient; { 5.03 }

    procedure LinePrepareCanvas(tmpCanvas:TCanvas3D; tmpColor:TColor);
    procedure PreparePointer(ValueIndex:Integer); virtual;
    Procedure SetParentChart(Const Value:TCustomAxisPanel); override;

    property Stacked:TCustomSeriesStack read FStacked write SetStacked default cssNone;
    property Transparency:TTeeTransparency read GetTransparency write SetTransparency default 0;
  public
    Constructor Create(AOwner: TComponent); override;
    Destructor Destroy; override;

    Procedure Assign(Source:TPersistent); override;
    Function CalcXPos(ValueIndex:Integer):Integer; override;
    Function CalcYPos(ValueIndex:Integer):Integer; override;
    Function Clicked(x,y:Integer):Integer; override;
    Function GetOriginPos(ValueIndex:Integer):Integer; virtual;
    Function MaxXValue:Double; override;
    Function MinXValue:Double; override;
    Function MaxYValue:Double; override;
    Function MinYValue:Double; override;

    property AreaBrush:TBrushStyle read GetAreaBrush write SetAreaBrushStyle
                                        default bsSolid;
    property AreaChartBrush:TChartBrush read FAreaBrush write SetAreaBrush;
    property AreaColor:TColor read FAreaColor write SetAreaColor default clTeeColor;
    property AreaLinesPen:TChartPen read FAreaLinesPen write SetAreaLinesPen;
    property ClickableLine:Boolean read FClickableLine write FClickableLine default True;
    property ColorEachLine:Boolean read FColorEachLine write SetColorEachLine default True;
    property Dark3D:Boolean read FDark3D write SetDark3D default True;
    property DrawArea:Boolean read FDrawArea write SetDrawArea default False;
    property InvertedStairs:Boolean read FInvertedStairs write SetInvertedStairs default False;
    property LineBrush:TBrushStyle read GetLineBrush write SetLineBrush default bsSolid;
    property LineHeight:Integer read FLineHeight write SetLineHeight default 0;
    property OutLine:TChartHiddenPen read FOutLine write SetOutLine;
    property Pointer:TSeriesPointer read FPointer write SetPointer;
    property Shadow:TTeeShadow read FShadow write SetShadow;  // 7.0
    property Stairs:Boolean read FStairs write SetStairs default False;

    { events }
    property OnClickPointer:TSeriesClickPointerEvent read FOnClickPointer
                                                     write FOnClickPointer;
  published
    { events }
    property OnGetPointerStyle:TOnGetPointerStyle read FOnGetPointerStyle
                                                  write FOnGetPointerStyle;
  end;

  TLineSeries=Class(TCustomSeries)
  protected
    class Procedure CreateSubGallery(AddSubChart:TChartSubGalleryProc); override;
    Procedure PrepareLegendCanvas( ValueIndex:Integer; Var BackColor:TColor;
                                   Var BrushStyle:TBrushStyle); override;
    class Procedure SetSubGallery(ASeries:TChartSeries; Index:Integer); override;
  public
    Constructor Create(AOwner: TComponent); override;
    Procedure Assign(Source:TPersistent); override;
  published
    property Active;
    property ColorEachLine;
    property ColorEachPoint;
    property ColorSource;
    property Cursor;
    property Depth;
    property HorizAxis;
    property Marks;
    property ParentChart;
    property DataSource;  { after parentchart }
    property PercentFormat;
    property SeriesColor;
    property Shadow; // 7.02
    property ShowInLegend;
    property Stacked;
    property Title;
    property ValueFormat;
    property VertAxis;
    property XLabelsSource;

    { events }
    property AfterDrawValues;
    property BeforeDrawValues;
    property OnAfterAdd;
    property OnBeforeAdd;
    property OnClearValues;
    property OnClick;
    property OnDblClick;
    property OnGetMarkText;
    property OnMouseEnter;
    property OnMouseLeave;

    property Brush;
    property ClickableLine;
    property Dark3D;
    property InvertedStairs;
    property LineBrush;
    property LineHeight;
    property LinePen;
    property OutLine; { 5.02 }
    property Pointer;
    property Stairs;
    property XValues;
    property YValues;
  end;

  THorizLineSeries=class(TLineSeries)
  protected
    Function CalcMarkLength:Integer; override;
    Procedure DrawMark( ValueIndex:Integer; Const St:String;
                        APosition:TSeriesMarkPosition); override;
  public
    Constructor Create(AOwner: TComponent); override;
  end;

  TPointSeries=Class(TCustomSeries)
  private
    Procedure SetFixed;
  protected
    class Function CanDoExtra:Boolean; virtual;
    class Procedure CreateSubGallery(AddSubChart:TChartSubGalleryProc); override;
    class Function GetEditorClass:String; override;
    Function GetTransparency:TTeeTransparency; override;
    Procedure PrepareForGallery(IsEnabled:Boolean); override;
    Procedure SetColorEachPoint(Value:Boolean); override;
    class Procedure SetSubGallery(ASeries:TChartSeries; Index:Integer); override;
    procedure SetTransparency(const Value: TTeeTransparency); override;  // 7.0
  public
    Constructor Create(AOwner: TComponent); override;
    Procedure Assign(Source:TPersistent); override;
  published
    property Active;
    property ColorEachPoint;
    property ColorSource;
    property Cursor;
    property Depth;
    property HorizAxis;
    property Marks;
    property ParentChart;
    property DataSource;  { after parentchart }
    property PercentFormat;
    property SeriesColor;
    property ShowInLegend;
    property Stacked;
    property Title;
    property ValueFormat;
    property VertAxis;
    property XLabelsSource;

    { events }
    property AfterDrawValues;
    property BeforeDrawValues;
    property OnAfterAdd;
    property OnBeforeAdd;
    property OnClearValues;
    property OnClick;
    property OnDblClick;
    property OnGetMarkText;
    property OnMouseEnter;
    property OnMouseLeave;

    // Published inherited properties
    property ClickableLine;
    property Pointer;
    property Transparency;
    property XValues;
    property YValues;

    { events }
    property OnClickPointer;
  end;

  TMultiArea=(maNone,maStacked,maStacked100);

  TAreaSeries=Class(TCustomSeries)
  private
    FUseOrigin : Boolean;
    FOrigin    : Double;
    Function GetMultiArea:TMultiArea;
    Procedure SetMultiArea(Value:TMultiArea);
    Procedure SetOrigin(Const Value:Double);
    Procedure SetUseOrigin(Value:Boolean);
  protected
    class Procedure CreateSubGallery(AddSubChart:TChartSubGalleryProc); override;
    Procedure DrawLegendShape(ValueIndex:Integer; Const Rect:TRect); override; // 5.03
    class Function GetEditorClass:String; override;
    Procedure PrepareForGallery(IsEnabled:Boolean); override;
    Procedure PrepareLegendCanvas( ValueIndex:Integer; Var BackColor:TColor;
                                   Var BrushStyle:TBrushStyle); override;
    class Procedure SetSubGallery(ASeries:TChartSeries; Index:Integer); override;
  public
    Constructor Create(AOwner: TComponent); override;
    Procedure Assign(Source:TPersistent); override;
    Function DrawSeriesForward(ValueIndex:Integer):Boolean; override;
    Function GetOriginPos(ValueIndex:Integer):Integer; override;
    Function MaxXValue:Double; override;
    Function MinXValue:Double; override;
    Function MaxYValue:Double; override;
    Function MinYValue:Double; override;
  published
    property Active;
    property ColorEachLine;
    property ColorEachPoint;
    property ColorSource;
    property Cursor;
    property Depth;
    property Gradient; { 5.03 }
    property HorizAxis;
    property Marks;
    property ParentChart;
    property DataSource;  { after parentchart }
    property PercentFormat;
    property SeriesColor;
    property ShowInLegend;
    property Title;
    property ValueFormat;
    property VertAxis;
    property XLabelsSource;

    { events }
    property AfterDrawValues;
    property BeforeDrawValues;
    property OnAfterAdd;
    property OnBeforeAdd;
    property OnClearValues;
    property OnClick;
    property OnDblClick;
    property OnGetMarkText;
    property OnMouseEnter;
    property OnMouseLeave;

    property AreaBrush;
    property AreaChartBrush;
    property AreaColor;
    property AreaLinesPen;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频网站久久| 丰满亚洲少妇av| 国产日韩欧美精品一区| 91日韩一区二区三区| 久久国产三级精品| 一区二区三区成人| 日本一区二区视频在线| 欧美一区二区三级| 色久优优欧美色久优优| 成人看片黄a免费看在线| 蜜臀av性久久久久蜜臀aⅴ| 一区二区在线看| 中文字幕一区二区三区在线观看| 91精品国产综合久久久蜜臀图片| 99久久久国产精品| 国产一区欧美一区| 日本成人在线视频网站| 亚洲一区免费在线观看| 中文字幕va一区二区三区| 欧美一个色资源| 在线成人av影院| 欧美色偷偷大香| 色综合色综合色综合| 国产不卡视频一区| 国产成人免费高清| 国产另类ts人妖一区二区| 蜜乳av一区二区三区| 婷婷丁香激情综合| 五月开心婷婷久久| 亚洲第一二三四区| 亚洲综合一区二区精品导航| 中文字幕在线视频一区| 欧美国产欧美综合| 中文字幕精品一区| 国产精品久线观看视频| 欧美激情资源网| 国产精品色眯眯| 国产精品人成在线观看免费| 国产欧美日韩在线| 国产人伦精品一区二区| 久久久www成人免费无遮挡大片| 欧美成人三级电影在线| 欧美电视剧在线观看完整版| 日韩欧美中文字幕制服| 日韩一区二区三区免费观看| 欧美大片顶级少妇| 久久久另类综合| 亚洲国产精品二十页| 中文字幕在线不卡一区二区三区| 亚洲视频资源在线| 亚洲一级在线观看| 免费在线观看精品| 国产一区二区成人久久免费影院| 国产米奇在线777精品观看| 国产馆精品极品| av综合在线播放| 欧美中文字幕亚洲一区二区va在线 | 极品瑜伽女神91| 精品亚洲国产成人av制服丝袜 | 亚洲精品视频免费看| 一区二区三区精品在线观看| 亚洲大片一区二区三区| 亚洲国产精品影院| 韩日av一区二区| 成人av在线播放网站| 91色视频在线| 日韩欧美国产一区二区在线播放 | 蜜桃免费网站一区二区三区| 九九在线精品视频| 成人性色生活片| 欧美伊人久久久久久午夜久久久久| 91福利在线观看| 精品国产一区二区三区久久久蜜月| 欧美激情一区三区| 亚洲成人av中文| 国产成人av一区二区三区在线观看| 91美女片黄在线观看| 日韩欧美亚洲一区二区| 国产精品国产三级国产普通话三级| 亚洲综合色视频| 国产一区啦啦啦在线观看| 91在线小视频| 欧美成人三级电影在线| 亚洲品质自拍视频| 国产真实乱偷精品视频免| 一本久久综合亚洲鲁鲁五月天 | 日本高清免费不卡视频| 欧美xxxx在线观看| 亚洲另类中文字| 久久99精品久久久久久动态图| 成人国产精品免费网站| 日韩一区二区在线观看视频| 国产精品久久久久桃色tv| 亚洲.国产.中文慕字在线| 成人三级伦理片| 日韩一级免费一区| 亚洲精品老司机| 国产精品一区二区x88av| 欧美美女一区二区| 国产精品电影院| 精品午夜久久福利影院| 欧美色综合网站| 中文字幕在线观看不卡视频| 激情深爱一区二区| 91精品国产综合久久久久久| 成人免费在线观看入口| 精品亚洲成a人在线观看| 欧美日本在线看| 尤物在线观看一区| 成人av资源网站| 久久女同精品一区二区| 日韩av电影天堂| 欧美亚洲愉拍一区二区| 亚洲婷婷国产精品电影人久久| 国产美女精品在线| 亚洲精品一线二线三线| 日韩1区2区日韩1区2区| 欧美性视频一区二区三区| 亚洲欧美日本韩国| 不卡的av在线| 国产精品久久久久久久久久久免费看| 久久精品国产精品亚洲精品| 欧美丰满嫩嫩电影| 亚洲chinese男男1069| 一本一道综合狠狠老| 中文字幕在线观看一区| av一区二区三区四区| 国产精品天干天干在观线| 国产99久久精品| 亚洲国产高清在线观看视频| 国产在线精品一区二区夜色| 日韩网站在线看片你懂的| 日本视频在线一区| 日韩欧美一区二区视频| 日韩av网站在线观看| 日韩精品资源二区在线| 精品一区二区免费在线观看| 欧美成人一区二区三区| 精品制服美女丁香| 2022国产精品视频| 成人在线综合网| 亚洲欧美一区二区三区极速播放 | 亚洲国产成人高清精品| 欧美精品xxxxbbbb| 日韩在线一区二区三区| 日韩免费视频一区| 国产suv一区二区三区88区| 中文字幕 久热精品 视频在线 | 91精品国产综合久久精品图片| 亚洲18女电影在线观看| 日韩午夜精品电影| 久草这里只有精品视频| 91麻豆精品国产91久久久久| 看国产成人h片视频| 久久精品欧美日韩精品| 91蜜桃在线免费视频| 一区二区三区在线观看视频| 欧美色精品在线视频| 开心九九激情九九欧美日韩精美视频电影 | 欧美中文字幕不卡| 日韩成人午夜电影| 久久久久国产精品麻豆ai换脸| 成人午夜视频免费看| 亚洲综合丝袜美腿| 日韩欧美国产一二三区| 老司机午夜精品99久久| 国产精品国产三级国产a| 欧美日韩一区三区| 国产精一区二区三区| 亚洲精品国产a久久久久久| 欧美一区二区成人6969| 国产精品1区2区3区| 亚洲欧美欧美一区二区三区| 91麻豆精品国产自产在线| 国产91综合网| 亚洲电影你懂得| 欧美高清在线一区| 欧美性生活久久| 国产不卡视频在线观看| 视频精品一区二区| 中文字幕av不卡| 日韩一区二区三| 一本色道久久综合精品竹菊| 久久国产精品色婷婷| 亚洲欧美日韩国产手机在线| 日韩精品一区二区三区中文精品 | 日韩一区二区在线免费观看| 成人国产免费视频| 美女视频一区二区三区| 亚洲乱码中文字幕| 久久综合久久99| 欧美日韩高清影院| 成人看片黄a免费看在线| 日韩福利视频导航| 亚洲视频在线观看一区| 欧美精品一区二区不卡| 在线不卡a资源高清| 色综合激情五月| 国产成人精品免费网站| 日本欧美一区二区|