teeareaedit.pas
来自「Delphi TeeChartPro.6.01的源代码」· PAS 代码 · 共 184 行
PAS
184 行
{**********************************************}
{ TAreaSeries Component Editor Dialog }
{ Copyright (c) 1996-2003 by David Berneda }
{**********************************************}
unit TeeAreaEdit;
{$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}
Chart, Series, TeCanvas, TeePenDlg, TeeProcs;
type
TAreaSeriesEditor = class(TForm)
RGMultiArea: TRadioGroup;
GroupBox2: TGroupBox;
CBStairs: TCheckBox;
BAreaLinesPen: TButtonPen;
BAreaLinePen: TButtonPen;
GroupBox1: TGroupBox;
CBColorEach: TCheckBox;
BAreaColor: TButtonColor;
CBInvStairs: TCheckBox;
GroupBox3: TGroupBox;
CBUseOrigin: TCheckBox;
Label1: TLabel;
EOrigin: TEdit;
UDOrigin: TUpDown;
BPattern: TButton;
Button1: TButton;
LHeight: TLabel;
ETransp: TEdit;
UDTransp: TUpDown;
procedure FormShow(Sender: TObject);
procedure RGMultiAreaClick(Sender: TObject);
procedure CBColorEachClick(Sender: TObject);
procedure CBStairsClick(Sender: TObject);
procedure CBInvStairsClick(Sender: TObject);
procedure CBUseOriginClick(Sender: TObject);
procedure EOriginChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BPatternClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ETranspChange(Sender: TObject);
private
{ Private declarations }
Area : TAreaSeries;
Procedure EnableOrigin;
Function GetAreaColor:TColor;
public
{ Public declarations }
end;
implementation
{$IFNDEF CLX}
{$R *.dfm}
{$ELSE}
{$R *.xfm}
{$ENDIF}
Uses TeEngine, TeeEdiSeri, TeeEdiGrad, TeeBrushDlg, TeePoEdi, TeeConst;
type TFormTeeSeriesAccess=class(TFormTeeSeries);
procedure TAreaSeriesEditor.FormShow(Sender: TObject);
begin
Area:=TAreaSeries(Tag);
if Assigned(Area) then
begin
With Area do
begin
RGMultiArea.ItemIndex :=Ord(MultiArea);
CBColorEach.Checked :=ColorEachPoint;
CBStairs.Checked :=Stairs;
CBInvStairs.Checked :=InvertedStairs;
CBInvStairs.Enabled :=Stairs;
CBUseOrigin.Checked :=UseYOrigin;
UDOrigin.Position :=Round(YOrigin);
BAreaLinesPen.LinkPen(AreaLinesPen);
BAreaLinePen.LinkPen(LinePen);
UDTransp.Position :=Transparency;
end;
With BAreaColor do
begin
GetColorProc:=GetAreaColor;
LinkProperty(Area,'SeriesColor');
Enabled:=not Area.ColorEachPoint;
end;
EnableOrigin;
TeeInsertPointerForm(Parent,Area.Pointer,TeeMsg_GalleryPoint);
{ 5.03, gradient editor at area editor }
with TFormTeeSeriesAccess(Parent.Owner).InsertSeriesForm(
TTeeGradientEditor,2,TeeMsg_Gradient,
Area.Gradient) as TTeeGradientEditor do
begin
BOk.Visible:=False;
BCancel.Visible:=False;
end;
end;
end;
procedure TAreaSeriesEditor.RGMultiAreaClick(Sender: TObject);
begin
Area.MultiArea:=TMultiArea(RGMultiArea.ItemIndex);
end;
procedure TAreaSeriesEditor.CBColorEachClick(Sender: TObject);
begin
Area.ColorEachPoint:=CBColorEach.Checked;
BAreaColor.Enabled:=not Area.ColorEachPoint;
end;
Function TAreaSeriesEditor.GetAreaColor:TColor;
begin
With Area do
if AreaColor=clTeeColor then result:=SeriesColor
else result:=AreaColor;
end;
procedure TAreaSeriesEditor.CBStairsClick(Sender: TObject);
begin
Area.Stairs:=CBStairs.Checked;
CBInvStairs.Enabled:=Area.Stairs;
end;
procedure TAreaSeriesEditor.CBInvStairsClick(Sender: TObject);
begin
Area.InvertedStairs:=CBInvStairs.Checked;
end;
procedure TAreaSeriesEditor.CBUseOriginClick(Sender: TObject);
begin
Area.UseYOrigin:=CBUseOrigin.Checked;
EnableOrigin;
end;
procedure TAreaSeriesEditor.EOriginChange(Sender: TObject);
begin
if Showing then Area.YOrigin:=UDOrigin.Position
end;
Procedure TAreaSeriesEditor.EnableOrigin;
begin
EOrigin.Enabled:=CBUseOrigin.Checked;
UDOrigin.Enabled:=EOrigin.Enabled;
end;
procedure TAreaSeriesEditor.FormCreate(Sender: TObject);
begin
Align:=alClient;
BorderStyle:=TeeBorderStyle;
end;
procedure TAreaSeriesEditor.BPatternClick(Sender: TObject);
begin
EditChartBrush(Self,Area.AreaChartBrush);
end;
procedure TAreaSeriesEditor.Button1Click(Sender: TObject);
begin
EditChartBrush(Self,Area.Brush);
end;
procedure TAreaSeriesEditor.ETranspChange(Sender: TObject);
begin
if Showing then Area.Transparency:=UDTransp.Position;
end;
initialization
RegisterClass(TAreaSeriesEditor);
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?