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

📄 teecustedit.pas

📁 TeeChart7Source 控件
💻 PAS
字号:
{**********************************************}
{   TCustomSeries Component Editor Dialog      }
{   Copyright (c) 1996-2004 by David Berneda   }
{**********************************************}
unit TeeCustEdit;
{$I TeeDefs.inc}

interface

uses {$IFNDEF LINUX}
     Windows, Messages,
     {$ENDIF}
     SysUtils, Classes,
     {$IFDEF CLX}
     QGraphics, QControls, QForms, QDialogs, QStdCtrls, QExtCtrls, QComCtrls,
     {$ELSE}
     Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
     {$ENDIF}
     TeeProcs, Chart, Series, TeCanvas, TeePenDlg;

type
  TCustomSeriesEditor = class(TForm)
    BLineBorder: TButtonPen;
    BLineColor: TButtonColor;
    GBStair: TGroupBox;
    CBStairs: TCheckBox;
    CBInvStairs: TCheckBox;
    CBColorEach: TCheckBox;
    CBDark3D: TCheckBox;
    Label1: TLabel;
    CBStack: TComboFlat;
    LHeight: TLabel;
    EHeight: TEdit;
    UDHeight: TUpDown;
    CBClick: TCheckBox;
    BBrush: TButton;
    BOutline: TButtonPen;
    CheckBox1: TCheckBox;
    Button1: TButton;
    procedure FormShow(Sender: TObject);
    procedure CBStairsClick(Sender: TObject);
    procedure CBInvStairsClick(Sender: TObject);
    procedure CBColorEachClick(Sender: TObject);
    procedure CBDark3DClick(Sender: TObject);
    procedure CBStackChange(Sender: TObject);
    procedure EHeightChange(Sender: TObject);
    procedure CBClickClick(Sender: TObject);
    procedure BBrushClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure BLineColorClick(Sender: TObject);
    procedure BLineBorderClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    PointerForm : TCustomForm;
    TheSeries : TCustomSeries;
  public
    { Public declarations }
  end;

implementation

{$IFNDEF CLX}
{$R *.DFM}
{$ELSE}
{$R *.xfm}
{$ENDIF}

uses TeEngine, TeePoEdi, TeeConst, TeeBrushDlg, TeeShadowEditor;

type TCustomSeriesAccess=class(TCustomSeries);

procedure TCustomSeriesEditor.FormShow(Sender: TObject);
begin
  TheSeries:=TCustomSeries(Tag);

  if Assigned(TheSeries) then
  begin
    With TheSeries do
    Begin
      CBColorEach.Checked:=ColorEachPoint;
      BLineBorder.LinkPen(LinePen);

      CBStack.ItemIndex:=Ord(TCustomSeriesAccess(TheSeries).Stacked);
      CBClick.Checked:=ClickableLine;
      CheckBox1.Checked:=ColorEachLine;

      if TheSeries is TLineSeries then
      begin
        CBStairs.Checked:=Stairs;
        CBInvStairs.Checked:=InvertedStairs;
        CBInvStairs.Enabled:=CBStairs.Checked;
        CBDark3D.Checked:=Dark3D;
        UDHeight.Position:=LineHeight;
        BOutLine.LinkPen(TheSeries.OutLine);
      end
      else
        ShowControls(False,[ BBrush,BOutLine,
                             GBStair,CBDark3D,LHeight,EHeight,UDHeight]);
    end;

    BLineColor.LinkProperty(TheSeries,'SeriesColor');

    if Assigned(Parent) and (not Assigned(PointerForm)) then
       PointerForm:=TeeInsertPointerForm(Parent,TheSeries.Pointer,TeeMsg_GalleryPoint);
  end;
end;

procedure TCustomSeriesEditor.CBStairsClick(Sender: TObject);
begin
  TheSeries.Stairs:=CBStairs.Checked;
  CBInvStairs.Enabled:=CBStairs.Checked;
end;

procedure TCustomSeriesEditor.CBInvStairsClick(Sender: TObject);
begin
  TheSeries.InvertedStairs:=CBInvStairs.Checked;
end;

procedure TCustomSeriesEditor.CBColorEachClick(Sender: TObject);
begin
  TheSeries.ColorEachPoint:=CBColorEach.Checked;
end;

procedure TCustomSeriesEditor.CBDark3DClick(Sender: TObject);
begin
  TheSeries.Dark3D:=CBDark3D.Checked;
end;

procedure TCustomSeriesEditor.CBStackChange(Sender: TObject);
begin
  TCustomSeriesAccess(TheSeries).Stacked:=TCustomSeriesStack(CBStack.ItemIndex);
end;

procedure TCustomSeriesEditor.EHeightChange(Sender: TObject);
begin
  if Showing then TheSeries.LineHeight:=UDHeight.Position
end;

procedure TCustomSeriesEditor.CBClickClick(Sender: TObject);
begin
  TheSeries.ClickableLine:=CBClick.Checked
end;

procedure TCustomSeriesEditor.BBrushClick(Sender: TObject);
begin
  EditChartBrush(Self,TheSeries.Brush);
end;

procedure TCustomSeriesEditor.FormCreate(Sender: TObject);
begin
  Align:=alClient;
end;

procedure TCustomSeriesEditor.CheckBox1Click(Sender: TObject);
begin
  TheSeries.ColorEachLine:=CheckBox1.Checked;
end;

procedure TCustomSeriesEditor.BLineColorClick(Sender: TObject);
begin
  BLineBorder.Invalidate;
end;

procedure TCustomSeriesEditor.BLineBorderClick(Sender: TObject);
begin
  with TheSeries do
  if not ParentChart.View3D then
     SeriesColor:=LinePen.Color;

  BLineColor.Invalidate;
end;

procedure TCustomSeriesEditor.Button1Click(Sender: TObject);
begin
  with TTeeShadowEditor.Create(Self) do
  try
    RefreshControls(TheSeries.Shadow);
    CBSmooth.Hide;
    UDShadowTransp.Hide;
    EShadowTransp.Hide;
    LTransp.Hide;
    ShowModal;
  finally
    Free;
  end;
end;

initialization
  RegisterClass(TCustomSeriesEditor);
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -