📄 teechartreg.pas
字号:
if Assigned(tmpComp) then
begin
tmpSeries:=TChartSeries(GetComponent(0));
if tmpSeries.ParentChart.IsValidDataSource(tmpSeries,tmpComp) then
FAddDataSetProc(S);
end;
end;
end;
{$IFDEF LCL}
function TSeriesDataSourceProperty.Designer:TTeeDesigner;
begin
result:=nil; // LCL Pending.
end;
{$ENDIF}
procedure TSeriesDataSourceProperty.GetValues(Proc: TGetStrProc);
begin
if Assigned(TChartSeries(GetComponent(0)).ParentChart) then
Begin
FAddDataSetProc:=Proc;
{$IFDEF TEEDBREG}
Designer.GetComponentNames(GetTypeData(TDataSource.ClassInfo),AddDataSource);
Designer.GetComponentNames(GetTypeData(TDataSet.ClassInfo),AddDataSource);
{$ENDIF}
Designer.GetComponentNames(GetTypeData(TChartSeries.ClassInfo),AddDataSource);
Designer.GetComponentNames(GetTypeData(TTeeSeriesSource.ClassInfo),AddDataSource);
end;
end;
{$IFDEF TEEDBREG}
{ TCrosstabField Property }
type
TCrosstabFieldProperty=class(TStringProperty)
public
function GetAttributes : TPropertyAttributes; override;
procedure GetValues(Proc: TGetStrProc); override;
end;
function TCrosstabFieldProperty.GetAttributes : TPropertyAttributes;
Begin
result:=inherited GetAttributes+[paValueList];
end;
procedure TCrosstabFieldProperty.GetValues(Proc: TGetStrProc);
var Crosstab : TDBCrossTabSource;
begin
Crosstab:=TDBCrossTabSource(GetComponent(0));
if Assigned(Crosstab.DataSet) then FillDataSetFields(Crosstab.DataSet,Proc);
end;
{$ENDIF}
{ TValueSource Property }
type
TValueSourceProperty=class(TStringProperty)
public
function GetAttributes : TPropertyAttributes; override;
procedure GetValues(Proc: TGetStrProc); override;
end;
function TValueSourceProperty.GetAttributes : TPropertyAttributes;
Begin
result:=inherited GetAttributes+[paValueList];
end;
procedure TValueSourceProperty.GetValues(Proc: TGetStrProc);
Var AValueList : TChartValueList;
begin
AValueList:=TChartValueList(GetComponent(0));
With AValueList.Owner do
if Assigned(ParentChart) then
TCustomChart(ParentChart).FillValueSourceItems(AValueList,Proc);
end;
{ TSeriesSource Property }
type
TSeriesSourceProperty=class(TStringProperty)
public
function GetAttributes : TPropertyAttributes; override;
procedure GetValues(Proc: TGetStrProc); override;
end;
procedure TSeriesSourceProperty.GetValues(Proc: TGetStrProc);
Var ASeries : TChartSeries;
begin
ASeries:=TChartSeries(GetComponent(0));
With ASeries do
if Assigned(ParentChart) then
TCustomChart(ParentChart).FillSeriesSourceItems(ASeries,Proc);
end;
function TSeriesSourceProperty.GetAttributes : TPropertyAttributes;
Begin
result:=inherited GetAttributes+[paValueList];
end;
{$IFDEF TEEDBREG}
{ DBChart Editor }
procedure TDBChartCompEditor.ExecuteVerb( Index : Integer );
begin
if Index+1=GetVerbCount then TCustomDBChart(Component).RefreshData
else inherited;
end;
function TDBChartCompEditor.GetVerbCount : Integer;
begin
Result := inherited GetVerbCount+1;
end;
function TDBChartCompEditor.GetVerb( Index : Integer ) : string;
begin
if Index+1=GetVerbCount then result:=TeeMsg_RefreshData
else result:=inherited GetVerb(Index);
end;
{$ENDIF}
{ View3DOptions Editor }
procedure TView3DOptionsProperty.Edit;
begin
InternalEditPage(TCustomChart(TView3DOptions({$IFDEF CLR}GetObjValue{$ELSE}GetOrdValue{$ENDIF}).Parent),teeEdit3DPage);
end;
{$IFDEF D6}
Const TChartAxesCategory ='Axes';
TChartWallsCategory ='Walls';
TChartTitlesCategory ='Titles';
TChart3DCategory ='3D';
{$ELSE}
{$IFDEF CLX}
Const TChartAxesCategory ='Axes';
TChartWallsCategory ='Walls';
TChartTitlesCategory ='Titles';
TChart3DCategory ='3D';
{$ELSE}
{$IFDEF D5}
{ TChartAxesCategory }
class function TChartAxesCategory.Name: string;
begin
Result:=TeeMsg_ChartAxesCategoryName;
end;
class function TChartAxesCategory.Description: string;
begin
Result:=TeeMsg_ChartAxesCategoryDesc;
end;
{ TChartWallsCategory }
class function TChartWallsCategory.Name: string;
begin
Result:=TeeMsg_ChartWallsCategoryName;
end;
class function TChartWallsCategory.Description: string;
begin
Result:=TeeMsg_ChartWallsCategoryDesc;
end;
{ TChartTitlesCategory }
class function TChartTitlesCategory.Name: string;
begin
Result:=TeeMsg_ChartTitlesCategoryName;
end;
class function TChartTitlesCategory.Description: string;
begin
Result:=TeeMsg_ChartTitlesCategoryDesc;
end;
{ TChart3DCategory }
class function TChart3DCategory.Name: string;
begin
Result:=TeeMsg_Chart3DCategoryName;
end;
class function TChart3DCategory.Description: string;
begin
Result:=TeeMsg_Chart3DCategoryDesc;
end;
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
procedure Register;
begin
RegisterNoIcon([ TCustomChartElement, TTeeFunction ]);
// Was before: tcAdditional
RegisterComponents( TeeMsg_TeeChartPalette, [TChart] );
{$IFDEF TEEEDITORS}
RegisterComponentEditor(TCustomChart,TChartCompEditor);
{$ENDIF}
{$IFDEF TEEDBREG}
// Was before: tcDControls
RegisterComponents( TeeMsg_TeeChartPalette, [TDBChart] );
{$IFDEF TEEEDITORS}
RegisterComponentEditor(TCustomDBChart,TDBChartCompEditor);
{$ENDIF}
RegisterComponents( TeeMsg_TeeChartPalette,
[ {$IFNDEF CLR}TSeriesDataSet,{$ENDIF}
TDBCrossTabSource ] );
{$ENDIF}
{$IFDEF TEEEDITORS}
{$IFDEF D6}
RegisterComponentEditor(TChartSeries,TChartSeriesEditor);
{$ENDIF}
{$ENDIF}
RegisterComponents(TeeMsg_TeeChartPalette,[ TButtonColor,
TButtonPen,
TButtonGradient,
TDraw3D,
TComboFlat ]);
{$IFDEF CLX}
RegisterComponents(TeeMsg_TeeChartPalette,[TUpDown]);
{$ENDIF}
{$IFNDEF CLR}
{$IFNDEF CLX}
RegisterNonActiveX( [ TCustomTeePanel,
TCustomAxisPanel,
TCustomChart,TChart
{$IFDEF TEEDBREG}
,TCustomDBChart,TDBChart
{$ENDIF}
] , axrIncludeDescendants );
{$ENDIF}
{$ENDIF}
{$IFDEF TEEEDITORS}
RegisterPropertyEditor(TypeInfo(TSeriesMarks),TChartSeries,
'Marks', TSeriesMarksProperty);
// 7.05
RegisterPropertyEditor(TypeInfo(TSeriesPointer),nil,'',TSeriesPointerProperty);
RegisterPropertyEditor(TypeInfo(TChartWall),nil,'',TChartWallProperty);
RegisterPropertyEditor(TypeInfo(TChartTitle),TCustomChart,
'', TChartTitleProperty);
RegisterPropertyEditor(TypeInfo(TCustomChartLegend),TCustomChart,
'Legend', TChartLegendProperty);
RegisterPropertyEditor(TypeInfo(TChartAxis),TCustomChart,
'', TChartAxisProperty);
RegisterPropertyEditor(TypeInfo(TChartSeriesList), TCustomChart, 'SeriesList',
TChartSeriesListProperty);
RegisterPropertyEditor(TypeInfo(TChartAxisTitle), TChartAxis, 'Title',
TChartAxisTitleProperty);
RegisterPropertyEditor(TypeInfo(TCustomTeeGradient),nil,
'', TChartGradientProperty);
RegisterPropertyEditor(TypeInfo(TTeeShadow),nil,'', TTeeShadowProperty);
RegisterPropertyEditor(TypeInfo(TBarSeriesGradient),TCustomBarSeries,
'', TBarSeriesGradientProperty);
RegisterPropertyEditor( TypeInfo(TComponent),
TChartSeries,'DataSource',TSeriesDataSourceProperty);
RegisterPropertyEditor( TypeInfo(String),
TChartValueList,'ValueSource',TValueSourceProperty);
{$IFDEF TEEDBREG}
RegisterPropertyEditor( TypeInfo(String),
TDBCrossTabSource,'GroupField',TCrosstabFieldProperty);
RegisterPropertyEditor( TypeInfo(String),
TDBCrossTabSource,'LabelField',TCrosstabFieldProperty);
RegisterPropertyEditor( TypeInfo(String),
TDBCrossTabSource,'ValueField',TCrosstabFieldProperty);
{$ENDIF}
RegisterPropertyEditor( TypeInfo(String),
TChartSeries,'ColorSource',TSeriesSourceProperty);
RegisterPropertyEditor( TypeInfo(String),
TChartSeries,'XLabelsSource',TSeriesSourceProperty);
RegisterPropertyEditor(TypeInfo(TChartPen), nil, '',TChartPenProperty);
RegisterPropertyEditor(TypeInfo(TChartBrush), nil, '',TChartBrushProperty);
RegisterPropertyEditor(TypeInfo(TView3DOptions),TCustomChart,
'View3DOptions', TView3DOptionsProperty);
{$IFDEF D5}
RegisterPropertyInCategory(TChartAxesCategory, TypeInfo(TChartAxis));
RegisterPropertyInCategory(TChartAxesCategory, TCustomAxisPanel, 'AxisBehind');
RegisterPropertyInCategory(TChartAxesCategory, TCustomAxisPanel, 'AxisVisible');
RegisterPropertyInCategory(TChartAxesCategory, TypeInfo(TChartCustomAxes));
RegisterPropertyInCategory(TChartWallsCategory, TypeInfo(TCustomChartWall));
RegisterPropertyInCategory(TChartWallsCategory, TCustomAxisPanel, 'View3DWalls');
RegisterPropertyInCategory(TChartTitlesCategory, TypeInfo(TChartTitle));
RegisterPropertyInCategory(TChart3DCategory, TypeInfo(TView3DOptions));
RegisterPropertyInCategory(TChart3DCategory, TCustomTeePanel, 'View3D');
RegisterPropertyInCategory(TChart3DCategory, TCustomTeePanel, 'Chart3DPercent');
{$ENDIF}
{$ENDIF}
end;
{$IFDEF SPLASH_BDS}
//class procedure TeeChartIDE.IDERegister;
procedure IDERegister;
var b : TBitmap;
procedure AddSplash;
var about : IOTAAboutBoxService;
splash : IOTASplashScreenService;
begin
about:=BorlandIDE.GetService(System.Type(typeof(IOTAAboutBoxService))) as IOTAAboutBoxService;
if Assigned(about) then
begin
about.AddPluginInfo(TeeMsg_TeeChartPalette, TeeMsg_TeeChartPalette,
IntPtr(b.Handle),
False,
'TeeChart Components'+#13+TeeMsg_Copyright+#13+
'www.steema.com',
TeeMsg_Version);
end;
splash:=BorlandIDE.SplashScreenService;
if Assigned(splash) then
begin
splash.AddProductBitmap(TeeMsg_TeeChartPalette,
IntPtr(b.Handle),
False,
'The TeeChart Components'+#13+TeeMsg_Copyright+#13+
'www.steema.com',
TeeMsg_Version);
splash.SetProductIcon(IntPtr(b.Handle));
splash.ShowProductSplash(IntPtr(b.Handle));
end;
end;
begin
b:=TBitmap.Create;
try
with TTeeAboutForm.Create(nil) do
try
b.Assign(Image2.Picture);
finally
Free;
end;
AddSplash;
finally
b.Free;
end;
end;
{$ENDIF}
{$IFDEF TEELITE}
Procedure TeeOptionsFormHook;
begin
with TOptionsForm.Create(nil) do
try
ShowModal;
finally
Free;
end;
end;
{$ENDIF}
initialization
{$IFDEF TEEDBREG}
OnGetDesignerNames:=DesignTimeOnGetDesignerNames;
{$ENDIF}
{$IFDEF TEELITE}
TeeDesignOptionsHook:=TeeOptionsFormHook;
{$ENDIF}
finalization
{$IFDEF TEELITE}
TeeDesignOptionsHook:=nil; // For TeeChartReg "Options..." menu item
{$ENDIF}
{$IFDEF TEEDBREG}
OnGetDesignerNames:=nil;
{$ENDIF}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -