cxgridchartview.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 1,502 行 · 第 1/5 页
PAS
1,502 行
{********************************************************************}
{ }
{ Developer Express Visual Component Library }
{ ExpressQuantumGrid }
{ }
{ Copyright (c) 1998-2008 Developer Express Inc. }
{ ALL RIGHTS RESERVED }
{ }
{ The entire contents of this file is protected by U.S. and }
{ International Copyright Laws. Unauthorized reproduction, }
{ reverse-engineering, and distribution of all or any portion of }
{ the code contained in this file is strictly prohibited and may }
{ result in severe civil and criminal penalties and will be }
{ prosecuted to the maximum extent possible under the law. }
{ }
{ RESTRICTIONS }
{ }
{ THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES }
{ (DCU, OBJ, DLL, ETC.) ARE CONFIDENTIAL AND PROPRIETARY TRADE }
{ SECRETS OF DEVELOPER EXPRESS INC. THE REGISTERED DEVELOPER IS }
{ LICENSED TO DISTRIBUTE THE EXPRESSQUANTUMGRID AND ALL }
{ ACCOMPANYING VCL CONTROLS AS PART OF AN EXECUTABLE PROGRAM ONLY. }
{ }
{ THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED }
{ FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE }
{ COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE }
{ AVAILABLE TO OTHER INDIVIDUALS WITHOUT EXPRESS WRITTEN CONSENT }
{ AND PERMISSION FROM DEVELOPER EXPRESS INC. }
{ }
{ CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON }
{ ADDITIONAL RESTRICTIONS. }
{ }
{********************************************************************}
unit cxGridChartView;
{$I cxVer.inc}
interface
uses
{$IFDEF DELPHI6}
Variants,
{$ENDIF}
Windows, Messages, Classes, Graphics, Controls, Forms, Menus, StdCtrls,
cxClasses, cxGraphics, cxLookAndFeels, cxLookAndFeelPainters, cxStyles, cxControls, cxStorage,
cxEdit, cxCheckBox, cxCheckListBox, cxDropDownEdit, cxLabel, cxPC,
cxVariants, cxCustomData, cxData, cxDataStorage,
cxGridCommon, cxGridCustomView;
const
cxGridChartCustomizationFormDefaultWidth = 200;
htChartBase = 50;
htChartTitle = htChartBase + 1;
htLegend = htChartBase + 2;
htLegendItem = htChartBase + 3;
htChartToolBox = htChartBase + 4;
htDataLevelInfo = htChartBase + 5;
htDataLevelActiveValueInfo = htChartBase + 6;
htChartCustomizeButton = htChartBase + 7;
htDiagramSelector = htChartBase + 8;
htChartValue = htChartBase + 9;
// histogram
htPlot = htChartBase + 10;
htCategoryAxisTitle = htChartBase + 11;
htValueAxisTitle = htChartBase + 12;
// line diagram
htChartValueLine = htChartBase + 13;
// area diagram
htChartValueArea = htChartBase + 14;
// pie diagram
htSeriesSite = htChartBase + 15;
htSeriesSiteCaption = htChartBase + 16;
ckToolBox = 2;
dsDiagramFirst = 0;
dsLegend = dsDiagramFirst;
dsValueCaptions = dsDiagramFirst + 1;
dsValues = dsDiagramFirst + 2;
dsAxis = dsDiagramFirst + 3;
dsCategoryAxis = dsDiagramFirst + 4;
dsValueAxis = dsDiagramFirst + 5;
dsAxisTitle = dsDiagramFirst + 6;
dsCategoryAxisTitle = dsDiagramFirst + 7;
dsValueAxisTitle = dsDiagramFirst + 8;
dsGridLines = dsDiagramFirst + 9;
dsCategoryGridLines = dsDiagramFirst + 10;
dsValueGridLines = dsDiagramFirst + 11;
dsPlot = dsDiagramFirst + 12;
dsValueMarkers = dsDiagramFirst + 13;
dsSeriesSiteCaptions = dsDiagramFirst + 14;
dsSeriesSites = dsDiagramFirst + 15;
dsDiagramLast = dsSeriesSites;
ssSeriesFirst = 0;
ssValues = ssSeriesFirst;
ssSeriesLast = ssValues;
vsChartFirst = vsCustomLast + 1;
vsTitle = vsChartFirst;
vsLegend = vsChartFirst + 1;
vsToolBox = vsChartFirst + 2;
vsDiagramSelector = vsChartFirst + 3;
vsDataLevelsInfo = vsChartFirst + 4;
vsDataLevelActiveValueInfo = vsChartFirst + 5;
vsActiveDataLevelInfo = vsChartFirst + 6;
vsChartLast = vsActiveDataLevelInfo;
cxGridChartColumnDiagramDefaultBorderWidth = 1;
cxGridChartLineDiagramDefaultHotSpotSize = 15;
cxGridChartLineDiagramDefaultLineWidth = 1;
cxGridChartLineDiagramDefaultMarkerSize = 7;
cxGridChartDefaultDataLevelActiveValueDropDownCount = 15;
cxGridChartItemDefaultSummaryKind = skSum;
type
TcxGridChartCustomizationForm = class;
TcxGridChartController = class;
TcxCustomGridChartTitleViewInfo = class;
TcxGridChartLegendItemViewInfo = class;
TcxGridChartLegendViewInfo = class;
TcxGridChartDiagramValueViewInfo = class;
TcxGridChartDiagramViewInfo = class;
TcxGridChartHistogramTickMarkLabelsViewInfo = class;
TcxGridChartHistogramViewInfo = class;
TcxGridChartColumnDiagramViewInfo = class;
TcxGridChartLineDiagramLegendItemViewInfo = class;
TcxGridChartLineDiagramValueViewInfoClass = class of TcxGridChartLineDiagramValueViewInfo;
TcxGridChartLineDiagramValueViewInfo = class;
TcxGridChartLineDiagramViewInfo = class;
TcxGridChartAreaDiagramValueViewInfo = class;
TcxGridChartPieDiagramValueViewInfo = class;
TcxGridChartPieSeriesSiteViewInfo = class;
TcxGridChartPieDiagramViewInfo = class;
TcxGridChartToolBoxItemViewInfo = class;
TcxGridChartToolBoxDataLevelActiveValueViewInfo = class;
TcxGridChartToolBoxDataLevelInfoViewInfo = class;
TcxGridChartToolBoxCustomizeButtonViewInfo = class;
TcxGridChartToolBoxDiagramSelectorViewInfo = class;
TcxGridChartToolBoxViewInfo = class;
TcxGridChartViewInfo = class;
TcxCustomGridChartTitle = class;
TcxGridChartDiagram = class;
TcxGridChartHistogramAxisTitle = class;
TcxGridChartHistogramAxis = class;
TcxGridChartHistogramAxisValue = class;
TcxGridChartHistogram = class;
TcxGridChartColumnDiagram = class;
TcxGridChartLineDiagram = class;
TcxGridChartAreaDiagram = class;
TcxGridChartPieDiagram = class;
TcxGridChartItemDataBinding = class;
TcxGridChartItemClass = class of TcxGridChartItem;
TcxGridChartItem = class;
TcxGridChartDataGroup = class;
TcxGridChartSeries = class;
TcxGridChartView = class;
TcxGridChartDataGroupContainerKind = Integer;
TcxGridChartPartAlignment = (cpaDefault, cpaStart, cpaCenter, cpaEnd);
TcxGridChartPartOrientation = (cpoDefault, cpoHorizontal, cpoVertical);
TcxGridChartPartPosition = (cppDefault, cppNone, cppLeft, cppTop, cppRight, cppBottom);
TcxGridChartColumnDiagramValueCaptionPosition = (cdvcpNone, cdvcpInsideBase,
cdvcpCenter, cdvcpInsideEnd, cdvcpOutsideEnd);
TcxGridChartLineDiagramValueCaptionPosition = (ldvcpNone, ldvcpLeft, ldvcpAbove,
ldvcpRight, ldvcpBelow, ldvcpCenter);
TcxGridChartLineStyle = (clsNone, clsSolid, clsDash, clsDot, clsDashDot, clsDashDotDot);
TcxGridChartMarkerStyle = (cmsNone, cmsSquare, cmsTriangle, cmsDiamond, cmsCircle);
TcxGridChartPieDiagramValueCaptionPosition = (pdvcpNone, pdvcpCenter,
pdvcpInsideEnd, pdvcpOutsideEnd, pdvcpOutsideEndWithLeaderLines);
{ hit tests }
TcxGridChartTitleHitTest = class(TcxCustomGridViewHitTest)
protected
class function GetHitTestCode: Integer; override;
end;
TcxGridChartLegendHitTest = class(TcxCustomGridViewHitTest)
protected
class function GetHitTestCode: Integer; override;
end;
TcxGridChartLegendItemHitTest = class(TcxCustomGridViewHitTest)
protected
class function GetHitTestCode: Integer; override;
public
Index: Integer;
Series: TcxGridChartSeries;
ValueIndex: Integer;
end;
TcxGridChartToolBoxHitTest = class(TcxCustomGridViewHitTest)
protected
class function GetHitTestCode: Integer; override;
end;
TcxGridChartDataLevelInfoHitTest = class(TcxCustomGridViewHitTest)
private
FDataLevel: Integer;
FDataLevelObject: TcxGridChartDataGroup;
procedure SetDataLevel(Value: Integer);
procedure SetDataLevelObject(Value: TcxGridChartDataGroup);
protected
class function GetHitTestCode: Integer; override;
public
DataLevelObjectContainerKind: TcxGridChartDataGroupContainerKind;
function DragAndDropObjectClass: TcxCustomGridDragAndDropObjectClass; override;
property DataLevel: Integer read FDataLevel write SetDataLevel;
property DataLevelObject: TcxGridChartDataGroup read FDataLevelObject write SetDataLevelObject;
end;
TcxGridChartDataLevelActiveValueInfoHitTest = class(TcxGridChartDataLevelInfoHitTest)
protected
class function GetHitTestCode: Integer; override;
public
CanDropDown: Boolean;
function Cursor: TCursor; override;
function DragAndDropObjectClass: TcxCustomGridDragAndDropObjectClass; override;
end;
TcxGridChartCustomizeButtonHitTest = class(TcxCustomGridViewHitTest)
protected
class function GetHitTestCode: Integer; override;
end;
TcxGridChartDiagramSelectorHitTest = class(TcxCustomGridViewHitTest)
protected
class function GetHitTestCode: Integer; override;
public
CanDropDown: Boolean;
function Cursor: TCursor; override;
end;
TcxGridChartValueHitTest = class(TcxCustomGridViewHitTest)
protected
class function GetHitTestCode: Integer; override;
public
CanDrillDown: Boolean;
Series: TcxGridChartSeries;
ValueIndex: Integer;
function Cursor: TCursor; override;
end;
TcxCustomGridChartDiagramHitTest = class(TcxCustomGridViewHitTest)
public
Diagram: TcxGridChartDiagram;
end;
// histogram
TcxGridChartHistogramPlotHitTest = class(TcxCustomGridChartDiagramHitTest)
protected
class function GetHitTestCode: Integer; override;
end;
TcxCustomGridChartHistogramAxisHitTest = class(TcxCustomGridChartDiagramHitTest);
TcxGridChartHistogramCategoryAxisTitleHitTest = class(TcxCustomGridChartHistogramAxisHitTest)
protected
class function GetHitTestCode: Integer; override;
end;
TcxGridChartHistogramValueAxisTitleHitTest = class(TcxCustomGridChartHistogramAxisHitTest)
protected
class function GetHitTestCode: Integer; override;
end;
// line diagram
TcxGridChartValueLineHitTest = class(TcxGridChartValueHitTest)
protected
class function GetHitTestCode: Integer; override;
end;
// area diagram
TcxGridChartValueAreaHitTest = class(TcxGridChartValueHitTest)
protected
class function GetHitTestCode: Integer; override;
end;
// pie diagram
TcxGridChartPieSeriesSiteHitTest = class(TcxCustomGridChartDiagramHitTest)
protected
class function GetHitTestCode: Integer; override;
public
Series: TcxGridChartSeries;
end;
TcxGridChartPieSeriesSiteCaptionHitTest = class(TcxGridChartPieSeriesSiteHitTest)
protected
class function GetHitTestCode: Integer; override;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?