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

📄 teeedipane.pas

📁 Delphi TeeChartPro.6.01的源代码
💻 PAS
字号:
{**********************************************}
{  TCustomChart (or derived) Editor Dialog     }
{  Copyright (c) 1996-2003 by David Berneda    }
{**********************************************}
unit TeeEdiPane;
{$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, TeeEdiGrad, TeCanvas, TeePenDlg;

type
  TFormTeePanel = class(TForm)
    PageControl1: TPageControl;
    TabBack: TTabSheet;
    TabBorders: TTabSheet;
    TabGradient: TTabSheet;
    L19: TLabel;
    L2: TLabel;
    SEPanelBor: TEdit;
    SEPanelWi: TEdit;
    UDPanelWi: TUpDown;
    UDPanelBor: TUpDown;
    BPanelColor: TButtonColor;
    GB6: TGroupBox;
    RGBitmap: TRadioGroup;
    BBrowseImage: TButton;
    CBImageInside: TCheckBox;
    CBTransp: TCheckBox;
    TabShadow: TTabSheet;
    CBColorDef: TCheckBox;
    Label1: TLabel;
    ERound: TEdit;
    UDRound: TUpDown;
    CBInner: TComboFlat;
    Label2: TLabel;
    Label3: TLabel;
    CBOuter: TComboFlat;
    BBorder: TButtonPen;
    procedure SEPanelWiChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure RGBitmapClick(Sender: TObject);
    procedure BBrowseImageClick(Sender: TObject);
    procedure CBImageInsideClick(Sender: TObject);
    procedure SEPanelBorChange(Sender: TObject);
    procedure BPanelColorClick(Sender: TObject);
    procedure CBTranspClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure CBColorDefClick(Sender: TObject);
    procedure ERoundChange(Sender: TObject);
    procedure CBInnerChange(Sender: TObject);
    procedure CBOuterChange(Sender: TObject);
  private
    { Private declarations }
    Changing : Boolean;
    FGradientEditor : TTeeGradientEditor;
    Procedure CheckColorDef;
    procedure EnableImageControls;
  public
    { Public declarations }
    ThePanel:TCustomTeePanelExtended;
    Constructor CreatePanel(Owner:TComponent; APanel:TCustomTeePanelExtended);
  end;

implementation

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

Uses TeeBrushDlg, TeeShadowEditor, TeeConst;

{ TFormTeePanel }
Constructor TFormTeePanel.CreatePanel(Owner:TComponent; APanel:TCustomTeePanelExtended);
begin
  inherited Create(Owner);
  ThePanel:=APanel;
  Changing:=False;
  FGradientEditor:=TTeeGradientEditor.CreateCustom(Self,ThePanel.Gradient);
  AddFormTo(FGradientEditor,TabGradient,Integer(ThePanel.Gradient));
  InsertTeeShadowEditor(TabShadow).RefreshControls(ThePanel.Shadow);
  PageControl1.ActivePage:=TabBack;
end;

procedure TFormTeePanel.SEPanelWiChange(Sender: TObject);
begin
  if Showing then
  With ThePanel do
  if BevelWidth<>UDPanelWi.Position then BevelWidth:=UDPanelWi.Position;
end;

procedure TFormTeePanel.FormShow(Sender: TObject);
begin
  if Assigned(ThePanel) then
  begin
    With ThePanel do
    begin
      CBInner.ItemIndex      :=Ord(BevelInner);
      CBOuter.ItemIndex      :=Ord(BevelOuter);
      BBorder.LinkPen(Border);
      UDRound.Position       :=BorderRound;
      UDPanelWi.Position     :=BevelWidth;
      UDPanelBor.Position    :=BorderWidth;
      RGBitmap.ItemIndex     :=Ord(BackImageMode);
      CBImageInside.Checked  :=BackImageInside;
      EnableImageControls;

      CBTransp.Enabled:=Assigned(BackImage.Graphic);
      CBTransp.Checked:=CBTransp.Enabled and BackImageTransp;

      CheckColorDef;
    end;
    
    BPanelColor.LinkProperty(ThePanel,'Color');

    FGradientEditor.Visible:=True;
    PageControl1.ActivePage:=TabBack;
  end;
end;

procedure TFormTeePanel.RGBitmapClick(Sender: TObject);
begin
  ThePanel.BackImageMode:=TTeeBackImageMode(RGBitmap.ItemIndex);
end;

procedure TFormTeePanel.EnableImageControls;
begin
  RGBitmap.Enabled:=Assigned(ThePanel.BackImage.Graphic);
  CBImageInside.Enabled:=RGBitmap.Enabled;
  if RGBitmap.Enabled then
     BBrowseImage.Caption:=TeeMsg_ClearImage
  else
     BBrowseImage.Caption:=TeeMsg_BrowseImage;

  if CBTransp.Visible then
  begin
    CBTransp.Enabled:=RGBitmap.Enabled;
    CBTransp.Checked:=CBTransp.Enabled and
                      ThePanel.BackImage.Graphic.Transparent;
  end;
end;

procedure TFormTeePanel.BBrowseImageClick(Sender: TObject);
begin
  TeeLoadClearImage(Self,ThePanel.BackImage);
  EnableImageControls;
end;

procedure TFormTeePanel.CBImageInsideClick(Sender: TObject);
begin
  ThePanel.BackImageInside:=CBImageInside.Checked;
end;

procedure TFormTeePanel.SEPanelBorChange(Sender: TObject);
begin
  if Showing then
  With ThePanel do
  if BorderWidth<>UDPanelBor.Position then BorderWidth:=UDPanelBor.Position;
end;

procedure TFormTeePanel.BPanelColorClick(Sender: TObject);
begin
  ThePanel.Repaint;
  CheckColorDef;
end;

procedure TFormTeePanel.CBTranspClick(Sender: TObject);
begin
  if CBTransp.Enabled then
     ThePanel.BackImageTransp:=CBTransp.Checked;
end;

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

Procedure TFormTeePanel.CheckColorDef;
begin
  Changing:=True;
  CBColorDef.Checked:=ThePanel.Color=clBtnFace;
  Changing:=False;
  CBColorDef.Enabled:=not CBColorDef.Checked;
end;

procedure TFormTeePanel.CBColorDefClick(Sender: TObject);
begin
  if not Changing then
  begin
    ThePanel.Color:=clBtnFace;
    CheckColorDef;
    BPanelColor.Invalidate;
  end;
end;

procedure TFormTeePanel.ERoundChange(Sender: TObject);
begin
  if Showing then
     ThePanel.BorderRound:=UDRound.Position;
end;

procedure TFormTeePanel.CBInnerChange(Sender: TObject);
begin
  if ThePanel.BevelInner<>TPanelBevel(CBInner.ItemIndex) then
     ThePanel.BevelInner:=TPanelBevel(CBInner.ItemIndex);
end;

procedure TFormTeePanel.CBOuterChange(Sender: TObject);
begin
  if ThePanel.BevelOuter<>TPanelBevel(CBOuter.ItemIndex) then
     ThePanel.BevelOuter:=TPanelBevel(CBOuter.ItemIndex);
end;

end.

⌨️ 快捷键说明

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