Delphi 2009 之 TCategoryPanelGroup[3]: Color

本例效果图:

Delphi 2009 之 TCategoryPanelGroup[3]: Color

代码文件:

unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, StdCtrls, ColorGrd;



type

  TForm1 = class(TForm)

    CategoryPanelGroup1: TCategoryPanelGroup;

    CategoryPanel1: TCategoryPanel;

    CategoryPanel2: TCategoryPanel;

    CategoryPanel3: TCategoryPanel;

    RadioGroup1: TRadioGroup;

    ColorGrid1: TColorGrid;

    procedure FormCreate(Sender: TObject);

    procedure ColorGrid1Change(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);

begin

  CategoryPanel1.Height := ClientHeight div 2;

  CategoryPanel2.Height := CategoryPanel1.Height;

  CategoryPanel3.Height := CategoryPanel1.Height;



  CategoryPanel1.Caption := 'CPanel1';

  CategoryPanel2.Caption := 'CPanel2';

  CategoryPanel3.Caption := 'CPanel3';



  RadioGroup1.Caption := 'Color';

  with RadioGroup1.Items do

  begin

    Add('CategoryPanelGroup1.ChevronColor');

    Add('CategoryPanelGroup1.ChevronHotColor');

    Add('CategoryPanelGroup1.GradientBaseColor');

    Add('CategoryPanelGroup1.GradientColor');

    Add('CategoryPanelGroup1.Color');

    Add('CategoryPanel1.Color');

    Add('CategoryPanel2.Color');

    Add('CategoryPanel3.Color');

    Add('CategoryPanelGroup1.HeaderFont.Color');

  end;

  RadioGroup1.ItemIndex := 0;



  ColorGrid1.Align := alRight;

  ColorGrid1.Width := 48;

  ColorGrid1.GridOrdering := go2x8;

end;



procedure TForm1.ColorGrid1Change(Sender: TObject);

begin

  case RadioGroup1.ItemIndex of

    0: CategoryPanelGroup1.ChevronColor      := ColorGrid1.ForegroundColor;

    1: CategoryPanelGroup1.ChevronHotColor   := ColorGrid1.ForegroundColor;

    2: CategoryPanelGroup1.GradientBaseColor := ColorGrid1.ForegroundColor;

    3: CategoryPanelGroup1.GradientColor     := ColorGrid1.ForegroundColor;

    4: CategoryPanelGroup1.Color             := ColorGrid1.ForegroundColor;

    5: CategoryPanel1.Color                  := ColorGrid1.ForegroundColor; {刷新后显示}

    6: CategoryPanel2.Color                  := ColorGrid1.ForegroundColor; {刷新后显示}

    7: CategoryPanel3.Color                  := ColorGrid1.ForegroundColor; {刷新后显示}

    8: begin

      CategoryPanelGroup1.HeaderFont.Color := ColorGrid1.ForegroundColor;

      CategoryPanelGroup1.HeaderFont := CategoryPanelGroup1.HeaderFont; {刷新一下}

    end;

  end;

end;



end.


 
   
窗体文件:

object Form1: TForm1

  Left = 0

  Top = 0

  Caption = 'Form1'

  ClientHeight = 207

  ClientWidth = 462

  Color = clBtnFace

  Font.Charset = DEFAULT_CHARSET

  Font.Color = clWindowText

  Font.Height = -11

  Font.Name = 'Tahoma'

  Font.Style = []

  OldCreateOrder = False

  OnCreate = FormCreate

  PixelsPerInch = 96

  TextHeight = 13

  object CategoryPanelGroup1: TCategoryPanelGroup

    Left = 0

    Top = 0

    Width = 177

    Height = 207

    VertScrollBar.Tracking = True

    HeaderFont.Charset = DEFAULT_CHARSET

    HeaderFont.Color = clWindowText

    HeaderFont.Height = -11

    HeaderFont.Name = 'Tahoma'

    HeaderFont.Style = []

    TabOrder = 0

    object CategoryPanel1: TCategoryPanel

      Top = 0

      Caption = 'CategoryPanel1'

      TabOrder = 0

    end

    object CategoryPanel2: TCategoryPanel

      Top = 200

      Caption = 'CategoryPanel2'

      TabOrder = 1

    end

    object CategoryPanel3: TCategoryPanel

      Top = 400

      Caption = 'CategoryPanel3'

      TabOrder = 2

    end

  end

  object RadioGroup1: TRadioGroup

    Left = 183

    Top = 3

    Width = 227

    Height = 198

    Caption = 'RadioGroup1'

    TabOrder = 1

  end

  object ColorGrid1: TColorGrid

    Left = 362

    Top = 24

    Width = 100

    Height = 96

    TabOrder = 2

    OnChange = ColorGrid1Change

  end

end


 
   

你可能感兴趣的:(Delphi)