本例效果图:
代码文件:
代码文件:
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