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

📄 teestackbaredit.pas

📁 Delphi TeeChartPro.6.01的源代码
💻 PAS
字号:
{**********************************************}
{   TBarSeries Component Editor Dialog         }
{   Copyright (c) 1996-2003 by David Berneda   }
{**********************************************}
unit TeeStackBarEdit;
{$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
  TStackBarSeriesEditor = class(TForm)
    CBYOrigin: TCheckBox;
    EYOrigin: TEdit;
    RGMultiBar: TRadioGroup;
    Label1: TLabel;
    EGroup: TEdit;
    UDGroup: TUpDown;
    procedure FormShow(Sender: TObject);
    procedure CBYOriginClick(Sender: TObject);
    procedure EYOriginChange(Sender: TObject);
    procedure RGMultiBarClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure EGroupChange(Sender: TObject);
  private
    { Private declarations }
    CreatingForm : Boolean;
    Bar : TCustomBarSeries;
    Procedure EnableGroup;
  public
    { Public declarations }
  end;

implementation

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

procedure TStackBarSeriesEditor.FormShow(Sender: TObject);
begin
  Bar:=TCustomBarSeries(Tag);
  if Assigned(Bar) then
  With Bar do
  begin
    CBYOrigin.Checked    :=UseYOrigin;
    EYOrigin.Text        :=FloatToStr(YOrigin);
    EYOrigin.Enabled     :=UseYOrigin;
    RGMultiBar.ItemIndex :=Ord(MultiBar);
    UDGroup.Position     :=StackGroup;
    EnableGroup;
  end;
  CreatingForm:=False;
end;

procedure TStackBarSeriesEditor.CBYOriginClick(Sender: TObject);
begin
  if not CreatingForm then
  begin
    Bar.UseYOrigin:=CBYOrigin.Checked;
    EYOrigin.Enabled:=Bar.UseYOrigin;
    if EYOrigin.Enabled then EYOrigin.SetFocus;
  end;
end;

procedure TStackBarSeriesEditor.EYOriginChange(Sender: TObject);
begin
  if not CreatingForm then
     with Bar do YOrigin:=StrToFloatDef(EYOrigin.Text,YOrigin);
end;

procedure TStackBarSeriesEditor.RGMultiBarClick(Sender: TObject);
begin
  if not CreatingForm then
  begin
    Bar.MultiBar:=TMultiBar(RGMultiBar.ItemIndex);
    EnableGroup;
  end;
end;

Procedure TStackBarSeriesEditor.EnableGroup;
begin
  UDGroup.Enabled:=(Bar.MultiBar=mbStacked) or (Bar.MultiBar=mbStacked100);
  EGroup.Enabled:=UDGroup.Enabled;
end;

procedure TStackBarSeriesEditor.FormCreate(Sender: TObject);
begin
  CreatingForm:=True;
  Align:=alClient;
end;

procedure TStackBarSeriesEditor.EGroupChange(Sender: TObject);
begin
  if not CreatingForm then Bar.StackGroup:=UDGroup.Position
end;

initialization
  RegisterClass(TStackBarSeriesEditor);
end.

⌨️ 快捷键说明

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