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

📄 teesymboleditor.pas

📁 第三方控件:PaintGrid.pas 网格型仪表控件源文件 Mymeter.pas 圆型仪表控件源文件 Project1是这两个控件的使用范例。 该
💻 PAS
字号:
{**********************************************}
{  TLegendSymbol (or derived) Editor Dialog    }
{  Copyright (c) 2005 by David Berneda         }
{**********************************************}
unit TeeSymbolEditor;
{$I TeeDefs.inc}

interface

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

type
  TSymbolEditor = class(TForm)
    L11: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    SEColWi: TEdit;
    UDColWi: TUpDown;
    CBColWUnits: TComboFlat;
    CBSymbolPos: TComboFlat;
    CBContinuous: TCheckBox;
    CBVisible: TCheckBox;
    CBSymPen: TCheckBox;
    BSymPen: TButtonPen;
    CBSquared: TCheckBox;
    BSymGradient: TButtonGradient;
    procedure CBVisibleClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SEColWiChange(Sender: TObject);
    procedure CBColWUnitsChange(Sender: TObject);
    procedure CBSymbolPosChange(Sender: TObject);
    procedure CBContinuousClick(Sender: TObject);
    procedure CBSymPenClick(Sender: TObject);
    procedure CBSquaredClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    CreatingForm : Boolean;
    Symbol       : TLegendSymbol;

    Procedure EnableWidthControls;
  public
    { Public declarations }
  end;

implementation

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

procedure TSymbolEditor.CBVisibleClick(Sender: TObject);
begin
  Symbol.Visible:=CBVisible.Checked
end;

procedure TSymbolEditor.FormShow(Sender: TObject);
begin
  Symbol:=TLegendSymbol(Tag);

  if Assigned(Symbol) then
  With Symbol do
  begin
    UDColWi.Position:=Width;

    if WidthUnits=lcsPercent then CBColWUnits.ItemIndex:=0
                             else CBColWUnits.ItemIndex:=1;

    if Position=spLeft then CBSymbolPos.ItemIndex:=0
                       else CBSymbolPos.ItemIndex:=1;

    CBContinuous.Checked:=Continuous;
    CBSquared.Checked:=Squared;
    CBVisible.Checked:=Visible;
    CBSymPen.Checked:=DefaultPen;
    BSymPen.LinkPen(Pen);
    BSymPen.Enabled:=not DefaultPen;

    BSymGradient.Gradient:=Gradient;
    BSymGradient.OnlyStart:=True;
  end;

  CreatingForm:=False;
end;

procedure TSymbolEditor.SEColWiChange(Sender: TObject);
begin
  if not CreatingForm then
     Symbol.Width:=UDColWi.Position;
end;

Procedure TSymbolEditor.EnableWidthControls;
begin
  EnableControls(not Symbol.Squared,[UDColWi,SEColWi]);
end;

procedure TSymbolEditor.CBColWUnitsChange(Sender: TObject);
begin
  if CBColWUnits.ItemIndex=0 then
     Symbol.WidthUnits:=lcsPercent
  else
     Symbol.WidthUnits:=lcsPixels;
end;

procedure TSymbolEditor.CBSymbolPosChange(Sender: TObject);
begin
  if CBSymbolPos.ItemIndex=0 then Symbol.Position:=spLeft
                             else Symbol.Position:=spRight;
end;

procedure TSymbolEditor.CBContinuousClick(Sender: TObject);
begin
  Symbol.Continuous:=CBContinuous.Checked
end;

procedure TSymbolEditor.CBSymPenClick(Sender: TObject);
begin
  Symbol.DefaultPen:=CBSymPen.Checked;
  BSymPen.Enabled:=not CBSymPen.Checked;
end;

procedure TSymbolEditor.CBSquaredClick(Sender: TObject);
begin
  Symbol.Squared:=CBSquared.Checked;
  EnableWidthControls;
end;

procedure TSymbolEditor.FormCreate(Sender: TObject);
begin
  CreatingForm:=True;
end;

end.

⌨️ 快捷键说明

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