⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 teechartreg.pas

📁 第三方控件:PaintGrid.pas 网格型仪表控件源文件 Mymeter.pas 圆型仪表控件源文件 Project1是这两个控件的使用范例。 该
💻 PAS
📖 第 1 页 / 共 3 页
字号:

    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 + -