spktoolbar: Improved layout of Appearance editor. Add new tab appearance property .InactiveTabHeaderFontColor.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5347 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-11-13 23:42:13 +00:00
parent 0c39438e61
commit f5e3227e71
4 changed files with 1607 additions and 641 deletions

View File

@ -1374,7 +1374,7 @@ procedure TSpkToolbar.ValidateBuffer;
CurrentAppearance: TSpkToolbarAppearance;
FocusedAppearance: TSpkToolbarAppearance;
procedure DrawTabText(index: integer; AFont: TFont);
procedure DrawTabText(index: integer; AFont: TFont; AOverrideTextColor: TColor = clNone);
var
x, y: integer;
TabRect: T2DIntRect;
@ -1382,6 +1382,8 @@ procedure TSpkToolbar.ValidateBuffer;
TabRect := FTabRects[index];
FBuffer.canvas.font.Assign(AFont);
if AOverrideTextColor <> clNone then
FBuffer.Canvas.Font.Color := AOverrideTextColor;
x := TabRect.left + (TabRect.Width - FBuffer.Canvas.textwidth(
FTabs[index].Caption)) div 2;
y := TabRect.top + (TabRect.Height - FBuffer.Canvas.Textheight('Wy')) div 2;
@ -1571,7 +1573,7 @@ procedure TSpkToolbar.ValidateBuffer;
TabRect := FTabRects[i];
// Tab is drawn
if i = FTabIndex then
if i = FTabIndex then // active tab
begin
if i = FTabHover then
begin
@ -1595,7 +1597,7 @@ procedure TSpkToolbar.ValidateBuffer;
DrawTabText(i, CurrentAppearance.Tab.TabHeaderFont);
end
else
begin
begin // inactive tab
if i = FTabHover then
begin
DrawTab(i,
@ -1614,7 +1616,8 @@ procedure TSpkToolbar.ValidateBuffer;
DrawBottomLine(i, FocusedAppearance.Tab.BorderColor);
// Text
DrawTabText(i, CurrentAppearance.Tab.TabHeaderFont);
DrawTabText(i, CurrentAppearance.Tab.TabHeaderFont,
CurrentAppearance.Tab.InactiveTabHeaderFontColor);
end;
end;
end;

View File

@ -27,6 +27,7 @@ type TSpkTabAppearance = class(TPersistent)
FGradientFromColor : TColor;
FGradientToColor : TColor;
FGradientType : TBackgroundKind;
FInactiveHeaderFontColor: TColor;
// *** Gettery i settery ***
@ -35,6 +36,7 @@ type TSpkTabAppearance = class(TPersistent)
procedure SetGradientFromColor(const Value: TColor);
procedure SetGradientToColor(const Value: TColor);
procedure SetGradientType(const Value: TBackgroundKind);
procedure SetInactiveHeaderFontColor(const Value: TColor);
public
// *** Konstruktor, destruktor, assign ***
// <remarks>Appearance musi mieæ assign, bo wystêpuje jako w³asnoœæ
@ -51,6 +53,7 @@ type TSpkTabAppearance = class(TPersistent)
property GradientFromColor : TColor read FGradientFromColor write SetGradientFromColor;
property GradientToColor : TColor read FGradientToColor write SetGradientToColor;
property GradientType : TBackgroundKind read FGradientType write SetGradientType;
property InactiveTabHeaderFontColor: TColor read FInactiveHeaderFontColor write SetInactiveHeaderFontColor;
end;
type TSpkPaneAppearance = class(TPersistent)
@ -80,13 +83,13 @@ type TSpkPaneAppearance = class(TPersistent)
destructor Destroy; override;
procedure Reset;
published
property CaptionFont : TFont read FCaptionFont write SetCaptionFont;
property BorderDarkColor: TColor read FBorderDarkColor write SetBorderDarkColor;
property BorderLightColor: TColor read FBorderLightColor write SetBorderLightColor;
property CaptionBgColor: TColor read FCaptionBgColor write SetCaptionBgColor;
property CaptionFont: TFont read FCaptionFont write SetCaptionFont;
property GradientFromColor: TColor read FGradientFromColor write SetGradientFromColor;
property GradientToColor: TColor read FGradientToColor write SetGradientToColor;
property GradientType: TBackgroundKind read FGradientType write SetGradientType;
property CaptionBgColor : TColor read FCaptionBgColor write SetCaptionBgColor;
end;
type TSpkElementAppearance = class(TPersistent)
@ -217,19 +220,18 @@ uses
{ TSpkBaseToolbarAppearance }
procedure TSpkTabAppearance.Assign(Source: TPersistent);
var SrcAppearance : TSpkTabAppearance;
var
SrcAppearance: TSpkTabAppearance;
begin
if Source is TSpkTabAppearance then
begin
SrcAppearance:=TSpkTabAppearance(Source);
FTabHeaderFont.assign(SrcAppearance.TabHeaderFont);
FTabHeaderFont.Assign(SrcAppearance.TabHeaderFont);
FBorderColor:=SrcAppearance.BorderColor;
FGradientFromColor:=SrcAppearance.GradientFromColor;
FGradientToColor:=SrcAppearance.GradientToColor;
FGradientType:=SrcAppearance.GradientType;
FInactiveHeaderFontColor := SrcAppearance.InactiveTabHeaderFontColor;
if FDispatch<>nil then
FDispatch.NotifyAppearanceChanged;
@ -255,15 +257,14 @@ begin
end;
procedure TSpkTabAppearance.LoadFromXML(Node: TSpkXMLNode);
var Subnode : TSpkXMLNode;
var
Subnode : TSpkXMLNode;
begin
if not(assigned(Node)) then
exit;
Subnode:=Node['TabHeaderFont',false];
if assigned(Subnode) then
if Assigned(Subnode) then
TSpkXMLTools.Load(Subnode, FTabHeaderFont);
Subnode:=Node['BorderColor',false];
@ -281,6 +282,10 @@ if assigned(Subnode) then
Subnode:=Node['GradientType',false];
if assigned(Subnode) then
FGradientType:=TBackgroundKind(Subnode.TextAsInteger);
Subnode := Node['InactiveTabHeaderFontColor', false];
if Assigned(Subnode) then
FInactiveHeaderFontColor := Subnode.TextAsColor;
end;
procedure TSpkTabAppearance.Reset;
@ -319,12 +324,12 @@ begin
FGradientFromColor := rgb(222, 232, 245);
FGradientToColor := rgb(199, 216, 237);
FGradientType := bkConcave;
FInactiveHeaderFontColor := FTabHeaderFont.Color;
end;
procedure TSpkTabAppearance.SaveToXML(Node: TSpkXMLNode);
var Subnode : TSpkXMLNode;
var
Subnode: TSpkXMLNode;
begin
if not(assigned(Node)) then
exit;
@ -343,6 +348,9 @@ Subnode.TextAsColor:=FGradientToColor;
Subnode:=Node['GradientType',true];
Subnode.TextAsInteger:=integer(FGradientType);
Subnode := Node['InactiveTabHeaderFontColor', true];
Subnode.TextAsColor := FInactiveHeaderFontColor;
end;
procedure TSpkTabAppearance.SetBorderColor(const Value: TColor);
@ -380,6 +388,14 @@ begin
FDispatch.NotifyAppearanceChanged;
end;
procedure TSpkTabAppearance.SetInactiveHeaderFontColor(const Value: TColor);
begin
FInactiveHeaderFontColor := Value;
if FDispatch <> nil then
FDispatch.NotifyAppearanceChanged;
end;
{ TSpkPaneAppearance }

File diff suppressed because it is too large Load Diff

View File

@ -12,8 +12,18 @@ uses
spkt_Appearance;
type
{ TfrmAppearanceEditWindow }
TfrmAppearanceEditWindow = class(TForm)
gbPreview: TGroupBox;
SmallImages: TImageList;
LargeImages: TImageList;
Label18: TLabel;
LblInactiveTabHeaderFontColor: TLabel;
pInactiveTabHeaderFontColor: TPanel;
Panel1: TPanel;
SpkTab2: TSpkTab;
tbPreview: TSpkToolbar;
SpkTab1: TSpkTab;
SpkPane1: TSpkPane;
@ -55,7 +65,7 @@ type
Label11: TLabel;
cbPaneGradientKind: TComboBox;
pPaneCaptionBackground: TPanel;
Label12: TLabel;
LblCaptionBackground: TLabel;
Label13: TLabel;
pPaneCaptionFont: TPanel;
Label1: TLabel;
@ -68,18 +78,18 @@ type
pItemIdleGradientTo: TPanel;
pItemIdleGradientFrom: TPanel;
pItemIdleFrame: TPanel;
Label27: TLabel;
LblIdle: TLabel;
Label28: TLabel;
pItemIdleCaptionColor: TPanel;
Label29: TLabel;
pItemIdleInnerDark: TPanel;
Label30: TLabel;
LblInnerLightColor: TLabel;
pItemIdleInnerLight: TPanel;
cbItemHottrackGradientKind: TComboBox;
pItemHottrackGradientTo: TPanel;
pItemHottrackGradientFrom: TPanel;
pItemHottrackFrame: TPanel;
Label15: TLabel;
LblHotTrack: TLabel;
pItemHottrackCaptionColor: TPanel;
pItemHottrackInnerDark: TPanel;
pItemHottrackInnerLight: TPanel;
@ -87,7 +97,7 @@ type
pItemActiveGradientTo: TPanel;
pItemActiveGradientFrom: TPanel;
pItemActiveFrame: TPanel;
Label16: TLabel;
LblActive: TLabel;
pItemActiveCaptionColor: TPanel;
pItemActiveInnerDark: TPanel;
pItemActiveInnerLight: TPanel;
@ -95,7 +105,7 @@ type
bCancel: TButton;
cdColorDialog: TColorDialog;
fdFontDialog: TFontDialog;
pTabHeaderFontColor: TPanel;
pActiveTabHeaderFontColor: TPanel;
pPaneCaptionFontColor: TPanel;
TabSheet4: TTabSheet;
bImport: TButton;
@ -110,49 +120,62 @@ type
TabSheet5: TTabSheet;
Label17: TLabel;
bReset: TButton;
procedure bExportClick(Sender: TObject);
procedure bImportClick(Sender: TObject);
procedure bResetClick(Sender: TObject);
procedure cbItemActiveGradientKindChange(Sender: TObject);
procedure cbItemHottrackGradientKindChange(Sender: TObject);
procedure cbItemIdleGradientKindChange(Sender: TObject);
procedure cbTabGradientKindChange(Sender: TObject);
procedure cbPaneGradientKindChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure pActiveTabHeaderFontColorClick(Sender: TObject);
procedure pInactiveTabHeaderFontColorClick(Sender: TObject);
procedure cbLinkItemClick(Sender: TObject);
procedure cbLinkPaneClick(Sender: TObject);
procedure cbLinkTabClick(Sender: TObject);
procedure pTabFrameClick(Sender: TObject);
procedure pTabGradientFromClick(Sender: TObject);
procedure pTabGradientToClick(Sender: TObject);
procedure pPaneBorderDarkClick(Sender: TObject);
procedure pPaneBorderLightClick(Sender: TObject);
procedure pPaneCaptionFontClick(Sender: TObject);
procedure pPaneCaptionFontColorClick(Sender: TObject);
procedure pPaneGradientFromClick(Sender: TObject);
procedure pPaneGradientToClick(Sender: TObject);
procedure pPaneCaptionBackgroundClick(Sender: TObject);
procedure pItemIdleFrameClick(Sender: TObject);
procedure pItemIdleGradientFromClick(Sender: TObject);
procedure pItemIdleGradientToClick(Sender: TObject);
procedure pItemIdleCaptionColorClick(Sender: TObject);
procedure pItemIdleInnerDarkClick(Sender: TObject);
procedure pItemIdleInnerLightClick(Sender: TObject);
procedure pItemHottrackFrameClick(Sender: TObject);
procedure pItemHottrackGradientFromClick(Sender: TObject);
procedure pItemHottrackGradientToClick(Sender: TObject);
procedure pItemHottrackCaptionColorClick(Sender: TObject);
procedure pItemHottrackInnerDarkClick(Sender: TObject);
procedure pItemHottrackInnerLightClick(Sender: TObject);
procedure pItemActiveCaptionColorClick(Sender: TObject);
procedure pItemActiveFrameClick(Sender: TObject);
procedure pItemActiveGradientFromClick(Sender: TObject);
procedure pItemActiveGradientToClick(Sender: TObject);
procedure pItemActiveCaptionColorClick(Sender: TObject);
procedure pItemActiveInnerDarkClick(Sender: TObject);
procedure pItemActiveInnerLightClick(Sender: TObject);
procedure pTabHeaderFontClick(Sender: TObject);
procedure pPaneCaptionFontClick(Sender: TObject);
procedure pItemFontClick(Sender: TObject);
procedure cbTabGradientKindChange(Sender: TObject);
procedure cbPaneGradientKindChange(Sender: TObject);
procedure cbItemIdleGradientKindChange(Sender: TObject);
procedure cbItemHottrackGradientKindChange(Sender: TObject);
procedure cbItemActiveGradientKindChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure pTabHeaderFontColorClick(Sender: TObject);
procedure pPaneCaptionFontColorClick(Sender: TObject);
procedure bExportClick(Sender: TObject);
procedure bImportClick(Sender: TObject);
procedure cbLinkTabClick(Sender: TObject);
procedure cbLinkPaneClick(Sender: TObject);
procedure cbLinkItemClick(Sender: TObject);
procedure bResetClick(Sender: TObject);
procedure pItemIdleCaptionColorClick(Sender: TObject);
procedure pItemIdleFrameClick(Sender: TObject);
procedure pItemIdleGradientFromClick(Sender: TObject);
procedure pItemIdleGradientToClick(Sender: TObject);
procedure pItemIdleInnerDarkClick(Sender: TObject);
procedure pItemIdleInnerLightClick(Sender: TObject);
procedure pItemHottrackCaptionColorClick(Sender: TObject);
procedure pItemHottrackFrameClick(Sender: TObject);
procedure pItemHottrackGradientFromClick(Sender: TObject);
procedure pItemHottrackGradientToClick(Sender: TObject);
procedure pItemHottrackInnerDarkClick(Sender: TObject);
procedure pItemHottrackInnerLightClick(Sender: TObject);
procedure pTabHeaderFontClick(Sender: TObject);
private
{ Private declarations }
procedure SetLinkedFrameColor(AColor : TColor);
@ -193,12 +216,7 @@ end;
procedure TfrmAppearanceEditWindow.SetComboGradientKind(Combo: TComboBox;
GradientType: TBackgroundKind);
begin
case GradientType of
bkSolid: Combo.itemindex:=0;
bkHorizontalGradient: Combo.itemindex:=1;
bkVerticalGradient: Combo.itemindex:=2;
bkConcave: Combo.itemindex:=3;
end;
Combo.ItemIndex := ord(GradientType);
end;
procedure TfrmAppearanceEditWindow.SetLinkedFrameColor(AColor: TColor);
@ -226,17 +244,10 @@ SetPanelColor(pItemIdleGradientFrom, AColor);
end;
procedure TfrmAppearanceEditWindow.SetLinkedGradientKind(AKindIndex: integer);
var Kind : TBackgroundKind;
var
Kind: TBackgroundKind;
begin
case AKindIndex of
0 : Kind:=bkSolid;
1 : Kind:=bkHorizontalGradient;
2 : Kind:=bkVerticalGradient;
3 : Kind:=bkConcave;
else Kind:=bkSolid;
end;
Kind := TBackgroundKind(AKindIndex);
tbPreview.Appearance.Tab.GradientType := Kind;
SetComboGradientKind(cbTabGradientKind, Kind);
@ -274,8 +285,8 @@ end;
procedure TfrmAppearanceEditWindow.SetPanelFont(Panel: TPanel; AFont: TFont);
begin
Panel.Font.assign(AFont);
Panel.Caption:=AFont.Name+', '+inttostr(AFont.Size);
Panel.Font.Assign(AFont);
Panel.Caption := AFont.Name + ', ' + IntToStr(AFont.Size);
end;
procedure TfrmAppearanceEditWindow.SwitchAttributesLink(const Value: boolean);
@ -284,30 +295,21 @@ cbLinkTab.checked:=Value;
cbLinkPane.Checked := Value;
cbLinkItem.Checked := Value;
sTabRectangle.visible:=Value;
sTabRectangle.Visible := Value;
sPaneRectangle.Visible := Value;
sItemRectangle.Visible := Value;
end;
procedure TfrmAppearanceEditWindow.cbItemHottrackGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Element.HottrackGradientType:=bkSolid;
1 : tbPreview.Appearance.Element.HottrackGradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Element.HottrackGradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Element.HottrackGradientType:=bkConcave;
end;
with tbPreview.Appearance.Element do
HotTrackGradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
end;
procedure TfrmAppearanceEditWindow.cbItemIdleGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Element.IdleGradientType:=bkSolid;
1 : tbPreview.Appearance.Element.IdleGradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Element.IdleGradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Element.IdleGradientType:=bkConcave;
end;
with tbPreview.Appearance.Element do
IdleGradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
if cbLinkItem.Checked then
SetLinkedGradientKind((Sender as TComboBox).ItemIndex);
end;
@ -329,13 +331,8 @@ end;
procedure TfrmAppearanceEditWindow.cbTabGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Tab.GradientType:=bkSolid;
1 : tbPreview.Appearance.Tab.GradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Tab.GradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Tab.GradientType:=bkConcave;
end;
with tbPreview.Appearance.Tab do
GradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
if cbLinkTab.Checked then
SetLinkedGradientKind((Sender as TComboBox).ItemIndex);
end;
@ -346,22 +343,28 @@ cdColorDialog.Color:=Panel.Color;
if cdColorDialog.Execute then
begin
SetPanelColor(Panel, cdColorDialog.Color);
result:=true
Result := true
end
else
result:=false;
Result := false;
end;
function TfrmAppearanceEditWindow.ChangeFont(Panel: TPanel): boolean;
begin
fdFontDialog.Font.assign(Panel.font);
fdFontDialog.Font.Assign(Panel.Font);
if fdFontDialog.Execute then
begin
SetPanelFont(Panel, fdFontDialog.Font);
result:=true;
Result := true;
end
else
result:=false;
Result := false;
end;
procedure TfrmAppearanceEditWindow.FormCreate(Sender: TObject);
begin
bOK.AutoSize := false;
bOK.Width := bCancel.Width;
end;
procedure TfrmAppearanceEditWindow.FormShow(Sender: TObject);
@ -385,7 +388,8 @@ with AAppearance do
SetPanelColor(pTabGradientTo, GradientToColor);
SetComboGradientKind(cbTabGradientKind, GradientType);
SetPanelFont(pTabHeaderFont, TabHeaderFont);
SetPanelColor(pTabHeaderFontColor, TabHeaderFont.Color);
SetPanelColor(pActiveTabHeaderFontColor, TabHeaderFont.Color);
SetPanelColor(pInactiveTabHeaderFontColor, InactiveTabHeaderFontColor);
end;
with Pane do
@ -450,16 +454,14 @@ if ChangeColor(Sender as TPanel) then
end;
procedure TfrmAppearanceEditWindow.bExportClick(Sender: TObject);
var Xml : TSpkXMLParser;
var
Xml: TSpkXMLParser;
Node: TSpkXMLNode;
begin
XML:=TSpkXMLParser.Create;
try
Node := XML['Appearance', true];
tbPreview.Appearance.SaveToXML(Node);
mXML.Clear;
mXml.Text:=XML.Generate;
finally
@ -468,10 +470,9 @@ end;
end;
procedure TfrmAppearanceEditWindow.bImportClick(Sender: TObject);
var XML : TSpkXMLParser;
var
XML: TSpkXMLParser;
Node: TSpkXMLNode;
begin
tbPreview.BeginUpdate;
XML := TSpkXMLParser.Create;
@ -496,12 +497,8 @@ end;
procedure TfrmAppearanceEditWindow.cbItemActiveGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Element.ActiveGradientType:=bkSolid;
1 : tbPreview.Appearance.Element.ActiveGradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Element.ActiveGradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Element.ActiveGradientType:=bkConcave;
end;
with tbPreview.Appearance.Element do
ActiveGradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
end;
procedure TfrmAppearanceEditWindow.pItemActiveGradientToClick(Sender: TObject);
@ -569,7 +566,6 @@ begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Element.IdleFrameColor := (Sender as TPanel).Color;
if cbLinkItem.Checked then
SetLinkedFrameColor((Sender as TPanel).Color);
end;
@ -580,7 +576,6 @@ begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Element.IdleGradientFromColor := (Sender as TPanel).Color;
if cbLinkItem.Checked then
SetLinkedGradientFromColor((Sender as TPanel).Color);
end;
@ -591,7 +586,6 @@ begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Element.IdleGradientToColor := (Sender as TPanel).Color;
if cbLinkItem.Checked then
SetLinkedGradientToColor((Sender as TPanel).Color);
end;
@ -621,7 +615,6 @@ begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Pane.BorderDarkColor := (Sender as TPanel).Color;
if cbLinkPane.Checked then
SetLinkedFrameColor((Sender as TPanel).Color);
end;
@ -668,13 +661,8 @@ end;
procedure TfrmAppearanceEditWindow.cbPaneGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Pane.GradientType:=bkSolid;
1 : tbPreview.Appearance.Pane.GradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Pane.GradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Pane.GradientType:=bkConcave;
end;
with tbPreview.Appearance.Pane do
GradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
if cbLinkPane.Checked then
SetLinkedGradientKind((Sender as TComboBox).ItemIndex);
end;
@ -684,7 +672,6 @@ begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Pane.GradientToColor:=(Sender as TPanel).Color;
if cbLinkPane.Checked then
SetLinkedGradientToColor((Sender as TPanel).Color);
end;
@ -695,7 +682,6 @@ begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Tab.BorderColor:=(Sender as TPanel).Color;
if cbLinkTab.checked then
SetLinkedFrameColor((Sender as TPanel).Color);
end;
@ -706,7 +692,6 @@ begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Tab.GradientFromColor := (Sender as TPanel).Color;
if cbLinkTab.Checked then
SetLinkedGradientFromColor((Sender as TPanel).Color);
end;
@ -725,17 +710,28 @@ end;
procedure TfrmAppearanceEditWindow.pTabHeaderFontClick(Sender: TObject);
begin
if ChangeFont(Sender as TPanel) then
if ChangeFont(Sender as TPanel) then begin
tbPreview.Appearance.Tab.TabHeaderFont.Assign((Sender as TPanel).Font);
tbPreview.ForceRepaint;
end;
end;
procedure TfrmAppearanceEditWindow.pTabHeaderFontColorClick(Sender: TObject);
procedure TfrmAppearanceEditWindow.pActiveTabHeaderFontColorClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Tab.TabHeaderFont.Color:=((Sender as TPanel).Color);
pTabHeaderFont.Font.color:=((Sender as TPanel).Color);
pTabHeaderFont.Font.color := (Sender as TPanel).Color;
end;
end;
procedure TfrmAppearanceEditWindow.pInactiveTabHeaderFontColorClick(
Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Tab.InactiveTabHeaderFontColor := (Sender as TPanel).Color;
tbPreview.ForceRepaint;
end;
end;