SpkToolbar: Beginning to add a screen color picker to Appearance Editor.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5351 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-11-14 23:32:02 +00:00
parent b4cb2a0de2
commit ab3f9982c5
2 changed files with 643 additions and 91 deletions

View File

@ -1,10 +1,10 @@
object frmAppearanceEditWindow: TfrmAppearanceEditWindow object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Left = 349 Left = 617
Height = 520 Height = 540
Top = 120 Top = 138
Width = 536 Width = 536
Caption = 'Toolbar appearance editor' Caption = 'Toolbar appearance editor'
ClientHeight = 520 ClientHeight = 540
ClientWidth = 536 ClientWidth = 536
Color = clBtnFace Color = clBtnFace
Font.Color = clWindowText Font.Color = clWindowText
@ -174,7 +174,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TableBehaviour = tbBeginsRow TableBehaviour = tbBeginsRow
GroupBehaviour = gbSingleItem GroupBehaviour = gbSingleItem
HideFrameWhenIdle = True HideFrameWhenIdle = True
ImageIndex = 0 ImageIndex = 1
ButtonKind = bkButton ButtonKind = bkButton
end end
object SpkSmallButton2: TSpkSmallButton object SpkSmallButton2: TSpkSmallButton
@ -185,7 +185,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TableBehaviour = tbBeginsRow TableBehaviour = tbBeginsRow
GroupBehaviour = gbSingleItem GroupBehaviour = gbSingleItem
HideFrameWhenIdle = True HideFrameWhenIdle = True
ImageIndex = 0 ImageIndex = 1
ButtonKind = bkButtonDropdown ButtonKind = bkButtonDropdown
end end
object SpkSmallButton3: TSpkSmallButton object SpkSmallButton3: TSpkSmallButton
@ -196,7 +196,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TableBehaviour = tbBeginsRow TableBehaviour = tbBeginsRow
GroupBehaviour = gbSingleItem GroupBehaviour = gbSingleItem
HideFrameWhenIdle = True HideFrameWhenIdle = True
ImageIndex = 0 ImageIndex = 1
ButtonKind = bkDropdown ButtonKind = bkDropdown
end end
end end
@ -218,7 +218,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TableBehaviour = tbContinuesRow TableBehaviour = tbContinuesRow
GroupBehaviour = gbBeginsGroup GroupBehaviour = gbBeginsGroup
HideFrameWhenIdle = False HideFrameWhenIdle = False
ImageIndex = 0 ImageIndex = 1
ButtonKind = bkButton ButtonKind = bkButton
end end
object SpkSmallButton5: TSpkSmallButton object SpkSmallButton5: TSpkSmallButton
@ -229,7 +229,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TableBehaviour = tbContinuesRow TableBehaviour = tbContinuesRow
GroupBehaviour = gbContinuesGroup GroupBehaviour = gbContinuesGroup
HideFrameWhenIdle = False HideFrameWhenIdle = False
ImageIndex = 0 ImageIndex = 1
ButtonKind = bkButton ButtonKind = bkButton
end end
object SpkSmallButton6: TSpkSmallButton object SpkSmallButton6: TSpkSmallButton
@ -240,7 +240,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TableBehaviour = tbContinuesRow TableBehaviour = tbContinuesRow
GroupBehaviour = gbEndsGroup GroupBehaviour = gbEndsGroup
HideFrameWhenIdle = False HideFrameWhenIdle = False
ImageIndex = 0 ImageIndex = 1
ButtonKind = bkButton ButtonKind = bkButton
end end
object SpkSmallButton7: TSpkSmallButton object SpkSmallButton7: TSpkSmallButton
@ -251,7 +251,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TableBehaviour = tbBeginsRow TableBehaviour = tbBeginsRow
GroupBehaviour = gbSingleItem GroupBehaviour = gbSingleItem
HideFrameWhenIdle = False HideFrameWhenIdle = False
ImageIndex = 0 ImageIndex = 1
ButtonKind = bkButton ButtonKind = bkButton
end end
object SpkSmallButton8: TSpkSmallButton object SpkSmallButton8: TSpkSmallButton
@ -262,7 +262,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TableBehaviour = tbContinuesRow TableBehaviour = tbContinuesRow
GroupBehaviour = gbSingleItem GroupBehaviour = gbSingleItem
HideFrameWhenIdle = False HideFrameWhenIdle = False
ImageIndex = 0 ImageIndex = 1
ButtonKind = bkButton ButtonKind = bkButton
end end
end end
@ -318,7 +318,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
end end
object PageControl1: TPageControl object PageControl1: TPageControl
Left = 0 Left = 0
Height = 347 Height = 368
Top = 132 Top = 132
Width = 536 Width = 536
ActivePage = TabSheet2 ActivePage = TabSheet2
@ -327,8 +327,21 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TabOrder = 1 TabOrder = 1
object TabSheet1: TTabSheet object TabSheet1: TTabSheet
Caption = 'Tab' Caption = 'Tab'
ClientHeight = 319 ClientHeight = 320
ClientWidth = 528 ClientWidth = 528
object sTabRectangle: TShape
AnchorSideLeft.Control = LblInactiveTabHeaderFontColor
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = cbLinkTab
AnchorSideTop.Side = asrBottom
Left = 179
Height = 136
Top = 27
Width = 142
BorderSpacing.Left = 12
BorderSpacing.Top = 4
Visible = False
end
object Label2: TLabel object Label2: TLabel
AnchorSideTop.Control = pTabFrame AnchorSideTop.Control = pTabFrame
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
@ -394,19 +407,6 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Caption = 'Tab header font' Caption = 'Tab header font'
ParentColor = False ParentColor = False
end end
object sTabRectangle: TShape
AnchorSideLeft.Control = LblInactiveTabHeaderFontColor
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = cbLinkTab
AnchorSideTop.Side = asrBottom
Left = 179
Height = 136
Top = 27
Width = 137
BorderSpacing.Left = 12
BorderSpacing.Top = 4
Visible = False
end
object pTabFrame: TPanel object pTabFrame: TPanel
AnchorSideLeft.Control = cbLinkTab AnchorSideLeft.Control = cbLinkTab
AnchorSideTop.Control = cbLinkTab AnchorSideTop.Control = cbLinkTab
@ -414,7 +414,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Left = 187 Left = 187
Height = 25 Height = 25
Top = 36 Top = 36
Width = 121 Width = 100
BorderSpacing.Top = 13 BorderSpacing.Top = 13
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -426,10 +426,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideLeft.Control = pTabFrame AnchorSideLeft.Control = pTabFrame
AnchorSideTop.Control = pTabFrame AnchorSideTop.Control = pTabFrame
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pTabFrame
AnchorSideRight.Side = asrBottom
Left = 187 Left = 187
Height = 25 Height = 25
Top = 67 Top = 67
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -441,10 +444,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideLeft.Control = pTabGradientFrom AnchorSideLeft.Control = pTabGradientFrom
AnchorSideTop.Control = pTabGradientFrom AnchorSideTop.Control = pTabGradientFrom
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pTabGradientFrom
AnchorSideRight.Side = asrBottom
Left = 187 Left = 187
Height = 25 Height = 25
Top = 98 Top = 98
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -461,7 +467,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Left = 187 Left = 187
Height = 23 Height = 23
Top = 129 Top = 129
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
ItemHeight = 15 ItemHeight = 15
@ -478,15 +484,15 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Text = 'None' Text = 'None'
end end
object pTabHeaderFont: TPanel object pTabHeaderFont: TPanel
AnchorSideLeft.Control = pInactiveTabHeaderFontColor AnchorSideLeft.Control = pInactiveTabHeaderFont
AnchorSideTop.Control = pInactiveTabHeaderFontColor AnchorSideTop.Control = pInactiveTabHeaderFont
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pInactiveTabHeaderFontColor AnchorSideRight.Control = pInactiveTabHeaderFont
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 187 Left = 187
Height = 25 Height = 25
Top = 234 Top = 234
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BevelInner = bvRaised BevelInner = bvRaised
@ -495,7 +501,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TabOrder = 4 TabOrder = 4
OnClick = pTabHeaderFontClick OnClick = pTabHeaderFontClick
end end
object pActiveTabHeaderFontColor: TPanel object pActiveTabHeaderFont: TPanel
AnchorSideLeft.Control = cbTabGradientKind AnchorSideLeft.Control = cbTabGradientKind
AnchorSideTop.Control = cbTabGradientKind AnchorSideTop.Control = cbTabGradientKind
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
@ -504,14 +510,14 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Left = 187 Left = 187
Height = 25 Height = 25
Top = 172 Top = 172
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 20 BorderSpacing.Top = 20
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
Caption = 'Color' Caption = 'Color'
TabOrder = 5 TabOrder = 5
OnClick = pActiveTabHeaderFontColorClick OnClick = pActiveTabHeaderFontClick
end end
object cbLinkTab: TCheckBox object cbLinkTab: TCheckBox
AnchorSideLeft.Control = LblInactiveTabHeaderFontColor AnchorSideLeft.Control = LblInactiveTabHeaderFontColor
@ -528,7 +534,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TabOrder = 6 TabOrder = 6
end end
object Label18: TLabel object Label18: TLabel
AnchorSideTop.Control = pActiveTabHeaderFontColor AnchorSideTop.Control = pActiveTabHeaderFont
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = LblInactiveTabHeaderFontColor AnchorSideRight.Control = LblInactiveTabHeaderFontColor
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
@ -542,7 +548,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
end end
object LblInactiveTabHeaderFontColor: TLabel object LblInactiveTabHeaderFontColor: TLabel
AnchorSideLeft.Control = TabSheet1 AnchorSideLeft.Control = TabSheet1
AnchorSideTop.Control = pInactiveTabHeaderFontColor AnchorSideTop.Control = pInactiveTabHeaderFont
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 12 Left = 12
Height = 15 Height = 15
@ -552,16 +558,16 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Caption = 'Inactive tab header font color' Caption = 'Inactive tab header font color'
ParentColor = False ParentColor = False
end end
object pInactiveTabHeaderFontColor: TPanel object pInactiveTabHeaderFont: TPanel
AnchorSideLeft.Control = pActiveTabHeaderFontColor AnchorSideLeft.Control = pActiveTabHeaderFont
AnchorSideTop.Control = pActiveTabHeaderFontColor AnchorSideTop.Control = pActiveTabHeaderFont
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pActiveTabHeaderFontColor AnchorSideRight.Control = pActiveTabHeaderFont
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 187 Left = 187
Height = 25 Height = 25
Top = 203 Top = 203
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BevelInner = bvRaised BevelInner = bvRaised
@ -570,12 +576,98 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Color = clBtnFace Color = clBtnFace
ParentColor = False ParentColor = False
TabOrder = 7 TabOrder = 7
OnClick = pInactiveTabHeaderFontColorClick OnClick = pInactiveTabHeaderFontClick
end
object bTabFrameColor: TSpeedButton
AnchorSideLeft.Control = pTabFrame
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pTabFrame
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pTabFrame
AnchorSideBottom.Side = asrBottom
Left = 289
Height = 25
Top = 36
Width = 25
AllowAllUp = True
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bTabBorderColorClick
end
object bTabGradientFromColor: TSpeedButton
AnchorSideLeft.Control = pTabFrame
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pTabGradientFrom
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pTabFrame
AnchorSideBottom.Side = asrBottom
Left = 289
Height = 25
Top = 67
Width = 25
AllowAllUp = True
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bTabGradientFromColorClick
end
object bTabGradientToColor: TSpeedButton
AnchorSideLeft.Control = pTabFrame
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pTabGradientTo
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pTabFrame
AnchorSideBottom.Side = asrBottom
Left = 289
Height = 25
Top = 98
Width = 25
AllowAllUp = True
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bTabGradientToColorClick
end
object bActiveTabHeaderFontColor: TSpeedButton
AnchorSideLeft.Control = pTabFrame
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pActiveTabHeaderFont
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pTabFrame
AnchorSideBottom.Side = asrBottom
Left = 289
Height = 25
Top = 172
Width = 25
AllowAllUp = True
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bActiveTabHeaderFontColorClick
end
object bInactiveTabHeaderFontColor: TSpeedButton
AnchorSideLeft.Control = pTabFrame
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pInactiveTabHeaderFont
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pTabFrame
AnchorSideBottom.Side = asrBottom
Left = 289
Height = 25
Top = 203
Width = 25
AllowAllUp = True
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bInactiveTabHeaderFontColorClick
end end
end end
object TabSheet2: TTabSheet object TabSheet2: TTabSheet
Caption = 'Pane' Caption = 'Pane'
ClientHeight = 319 ClientHeight = 340
ClientWidth = 528 ClientWidth = 528
ImageIndex = 1 ImageIndex = 1
object Label8: TLabel object Label8: TLabel
@ -662,7 +754,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 27 Left = 27
Height = 15 Height = 15
Top = 239 Top = 270
Width = 94 Width = 94
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Pane caption font' Caption = 'Pane caption font'
@ -676,7 +768,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Left = 133 Left = 133
Height = 165 Height = 165
Top = 27 Top = 27
Width = 137 Width = 142
BorderSpacing.Left = 12 BorderSpacing.Left = 12
BorderSpacing.Top = 4 BorderSpacing.Top = 4
Visible = False Visible = False
@ -688,7 +780,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
Left = 141 Left = 141
Height = 25 Height = 25
Top = 36 Top = 36
Width = 121 Width = 100
BorderSpacing.Top = 13 BorderSpacing.Top = 13
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -700,10 +792,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideLeft.Control = pPaneBorderDark AnchorSideLeft.Control = pPaneBorderDark
AnchorSideTop.Control = pPaneBorderDark AnchorSideTop.Control = pPaneBorderDark
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pPaneBorderDark
AnchorSideRight.Side = asrBottom
Left = 141 Left = 141
Height = 25 Height = 25
Top = 67 Top = 67
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -715,10 +810,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideLeft.Control = pPaneBorderLight AnchorSideLeft.Control = pPaneBorderLight
AnchorSideTop.Control = pPaneBorderLight AnchorSideTop.Control = pPaneBorderLight
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pPaneBorderLight
AnchorSideRight.Side = asrBottom
Left = 141 Left = 141
Height = 25 Height = 25
Top = 98 Top = 98
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -730,10 +828,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideLeft.Control = pPaneGradientFrom AnchorSideLeft.Control = pPaneGradientFrom
AnchorSideTop.Control = pPaneGradientFrom AnchorSideTop.Control = pPaneGradientFrom
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pPaneGradientFrom
AnchorSideRight.Side = asrBottom
Left = 141 Left = 141
Height = 25 Height = 25
Top = 129 Top = 129
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -745,10 +846,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideLeft.Control = pPaneGradientTo AnchorSideLeft.Control = pPaneGradientTo
AnchorSideTop.Control = pPaneGradientTo AnchorSideTop.Control = pPaneGradientTo
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = bPaneGradientToColor
AnchorSideRight.Side = asrBottom
Left = 141 Left = 141
Height = 23 Height = 23
Top = 160 Top = 160
Width = 121 Width = 127
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
ItemHeight = 15 ItemHeight = 15
ItemIndex = 0 ItemIndex = 0
@ -767,10 +871,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideLeft.Control = cbPaneGradientKind AnchorSideLeft.Control = cbPaneGradientKind
AnchorSideTop.Control = cbPaneGradientKind AnchorSideTop.Control = cbPaneGradientKind
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pPaneGradientTo
AnchorSideRight.Side = asrBottom
Left = 141 Left = 141
Height = 25 Height = 25
Top = 203 Top = 203
Width = 121 Width = 100
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 20 BorderSpacing.Top = 20
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -780,12 +887,15 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
end end
object pPaneCaptionFont: TPanel object pPaneCaptionFont: TPanel
AnchorSideLeft.Control = pPaneCaptionBackground AnchorSideLeft.Control = pPaneCaptionBackground
AnchorSideTop.Control = pPaneCaptionBackground AnchorSideTop.Control = pPaneCaptionFontColor
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = bPaneCaptionFontColor
AnchorSideRight.Side = asrBottom
Left = 141 Left = 141
Height = 25 Height = 25
Top = 234 Top = 265
Width = 57 Width = 127
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -794,15 +904,16 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
OnClick = pPaneCaptionFontClick OnClick = pPaneCaptionFontClick
end end
object pPaneCaptionFontColor: TPanel object pPaneCaptionFontColor: TPanel
AnchorSideLeft.Control = pPaneCaptionBackground
AnchorSideTop.Control = pPaneCaptionBackground AnchorSideTop.Control = pPaneCaptionBackground
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pPaneCaptionBackground AnchorSideRight.Control = pPaneCaptionBackground
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 202 Left = 141
Height = 25 Height = 25
Top = 234 Top = 234
Width = 60 Width = 100
Anchors = [akTop, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -828,12 +939,12 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideLeft.Control = pPaneCaptionFont AnchorSideLeft.Control = pPaneCaptionFont
AnchorSideTop.Control = pPaneCaptionFont AnchorSideTop.Control = pPaneCaptionFont
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pPaneCaptionFontColor AnchorSideRight.Control = bPaneCaptionFontColor
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 141 Left = 141
Height = 23 Height = 23
Top = 265 Top = 296
Width = 121 Width = 127
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
ItemHeight = 15 ItemHeight = 15
@ -858,12 +969,130 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 68 Left = 68
Height = 15 Height = 15
Top = 269 Top = 300
Width = 53 Width = 53
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Pane style' Caption = 'Pane style'
ParentColor = False ParentColor = False
end end
object bPaneBorderDarkColor: TSpeedButton
AnchorSideLeft.Control = pPaneBorderDark
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pPaneBorderDark
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pPaneBorderDark
AnchorSideBottom.Side = asrBottom
Left = 243
Height = 25
Top = 36
Width = 25
AllowAllUp = True
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bPaneBorderDarkColorClick
end
object bPaneBorderLightColor: TSpeedButton
AnchorSideLeft.Control = pPaneBorderDark
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pPaneBorderLight
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pPaneBorderDark
AnchorSideBottom.Side = asrBottom
Left = 243
Height = 25
Top = 67
Width = 25
AllowAllUp = True
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bPaneBorderLightColorClick
end
object bPaneGradientFromColor: TSpeedButton
AnchorSideLeft.Control = pPaneBorderDark
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pPaneGradientFrom
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pPaneBorderDark
AnchorSideBottom.Side = asrBottom
Left = 243
Height = 25
Top = 98
Width = 25
AllowAllUp = True
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bPaneGradientFromColorClick
end
object bPaneGradientToColor: TSpeedButton
AnchorSideLeft.Control = pPaneBorderDark
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pPaneGradientTo
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pPaneBorderDark
AnchorSideBottom.Side = asrBottom
Left = 243
Height = 25
Top = 129
Width = 25
AllowAllUp = True
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bPaneGradientToColorClick
end
object LblCaptionBackground1: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = pPaneCaptionFontColor
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = LblCaptionBackground
AnchorSideRight.Side = asrBottom
Left = 49
Height = 15
Top = 239
Width = 72
Anchors = [akTop, akRight]
BorderSpacing.Left = 12
Caption = 'Caption color'
ParentColor = False
end
object bPaneCaptionBackgroundColor: TSpeedButton
AnchorSideLeft.Control = pPaneBorderDark
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pPaneCaptionBackground
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pPaneBorderDark
AnchorSideBottom.Side = asrBottom
Left = 243
Height = 25
Top = 203
Width = 25
AllowAllUp = True
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bPaneCaptionBackgroundColorClick
end
object bPaneCaptionFontColor: TSpeedButton
AnchorSideLeft.Control = pPaneBorderDark
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pPaneCaptionFontColor
AnchorSideTop.Side = asrCenter
AnchorSideBottom.Control = pPaneBorderDark
AnchorSideBottom.Side = asrBottom
Left = 243
Height = 25
Top = 234
Width = 25
AllowAllUp = True
BorderSpacing.Left = 2
Flat = True
GroupIndex = 1
OnClick = bPaneCaptionFontColorClick
end
end end
object TabSheet3: TTabSheet object TabSheet3: TTabSheet
Caption = 'Item' Caption = 'Item'
@ -1478,20 +1707,19 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
end end
end end
end end
object Panel1: TPanel object ButtonPanel: TPanel
Left = 8 Left = 8
Height = 25 Height = 24
Top = 487 Top = 508
Width = 520 Width = 520
Align = alBottom Align = alBottom
AutoSize = True
BorderSpacing.Around = 8 BorderSpacing.Around = 8
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 25 ClientHeight = 24
ClientWidth = 520 ClientWidth = 520
TabOrder = 2 TabOrder = 2
object bOK: TButton object bOK: TButton
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = ButtonPanel
AnchorSideRight.Control = bCancel AnchorSideRight.Control = bCancel
Left = 410 Left = 410
Height = 25 Height = 25
@ -1506,8 +1734,8 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
TabOrder = 0 TabOrder = 0
end end
object bCancel: TButton object bCancel: TButton
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = ButtonPanel
AnchorSideRight.Control = Panel1 AnchorSideRight.Control = ButtonPanel
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 458 Left = 458
Height = 25 Height = 25
@ -1520,6 +1748,29 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
ModalResult = 2 ModalResult = 2
TabOrder = 1 TabOrder = 1
end end
object LblRGB: TLabel
AnchorSideTop.Side = asrCenter
Left = 31
Height = 15
Top = 5
Width = 38
Caption = 'LblRGB'
ParentColor = False
Visible = False
end
object ColorView: TShape
AnchorSideLeft.Control = ButtonPanel
AnchorSideTop.Control = bOK
AnchorSideBottom.Control = bOK
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 24
Top = 0
Width = 25
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Bottom = 1
Visible = False
end
end end
object cdColorDialog: TColorDialog object cdColorDialog: TColorDialog
Color = clBlack Color = clBlack
@ -1560,11 +1811,46 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow
object LargeImages: TImageList object LargeImages: TImageList
Height = 32 Height = 32
Width = 32 Width = 32
left = 40 left = 48
top = 464 top = 464
end end
object SmallImages: TImageList object SmallImages: TImageList
left = 128 left = 128
top = 464 top = 464
Bitmap = {
4C69010000001000000010000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000005BA36C7380C4
97D986C99CD05AA96E4800000000000000000000000000000000000000000000
000000000000000000000000000000000000000000005EA16B8187D2A6FFA8E4
C1FF92DEB1FE65BB81FF50955B1E000000000000000000000000000000000000
0000000000000000000000000000437F49003674382185C39AFF82D0A2FF7ED3
A2FF6BC68DFF63B67EFF4F945A62000000000000000000000000000000000000
00000000000000000000000000003E713C3F5BA572F085CEA5FE6DC893FF6CC5
8FFF66BB81FF5AA56BFF49874D24000000000000000000000000000000000000
000000000000376C2D3F5F9B66E6699B74F54C8866FE6BC28FFF6CC28FFF65BA
83FE5DAC72FF4B8D528500000000000000000000000000000000000000000000
00001A4A112D285B25FFC3DBC8FE76BB8AFF6CBA87FF4C8564FF67BC86FE58A2
69FF468548560000000045864F00000000000000000000000000000000000000
0000154E15331E4C1DFF295227FF5D9363FF5AAA70FF60B07BFE4D845DFF3D77
394400000000000000000000000000000000000000000000000000000000ECEA
EA00FFFFFF1AA8B6A7FC124415FF91A592FF4A8850FF5FAE74FF457942AD0000
0000000000000000000000000000000000000000000000000000EAE8E800EFEB
EC15E6E4E4F8D2D0CFFEB2C1B2FCC6D2C8FF3C693DFF4F9359FF40783B790000
00000000000000000000000000000000000000000000EAE8E800EDEBEB0EE5E3
E4F3CBCAC7FEDDDFDBFEF2F0F1FF8E9E8FCA346B3BEF34662DA2000000000000
000000000000000000000000000000000000E8E6E600E9E6E607E7E3E4ECCCCB
C9FEDDDEDBFFEEEEEFFFBFBCBCD0000000000000000000000000346328000000
0000000000000000000000000000E3E0E000F0E9E903E6E5E5E5CDCACAFEDEDE
DCFFEDECECFEBDBABAD900000000B6B3B3000000000000000000000000000000
000000000000000000000000000000000000F0F0F0C1CECBCBFEE0DFDEFFEDED
EDFEBAB8B8E2B7B5B501B7B4B400000000000000000000000000000000000000
000000000000000000000000000000000000E4E2E2FFD9D6D6FFECEBEBFEBBB8
B8EBBBB6B606B8B5B50000000000000000000000000000000000000000000000
0000000000000000000000000000E8E7E79ACAC6C6FFBEBBBBFFB8B5B5DDC0BB
BB0DB9B6B6000000000000000000000000000000000000000000000000000000
0000000000000000000000000000B3B2B100BCB9B9CEACA9A91900000000B8B5
B500000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000
}
end end
end end

View File

@ -6,7 +6,7 @@ interface
uses uses
LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons,
SpkGUITools, SpkXMLParser, SpkGUITools, SpkXMLParser,
spkt_Buttons, spkt_BaseItem, spkt_Pane, spkt_Types, spkt_Tab, SpkToolbar, spkt_Buttons, spkt_BaseItem, spkt_Pane, spkt_Types, spkt_Tab, SpkToolbar,
spkt_Appearance; spkt_Appearance;
@ -16,15 +16,29 @@ type
{ TfrmAppearanceEditWindow } { TfrmAppearanceEditWindow }
TfrmAppearanceEditWindow = class(TForm) TfrmAppearanceEditWindow = class(TForm)
bInactiveTabHeaderFontColor: TSpeedButton;
bPaneBorderDarkColor: TSpeedButton;
bPaneBorderLightColor: TSpeedButton;
bPaneGradientFromColor: TSpeedButton;
bPaneGradientToColor: TSpeedButton;
bPaneCaptionBackgroundColor: TSpeedButton;
bPaneCaptionFontColor: TSpeedButton;
bTabGradientFromColor: TSpeedButton;
bTabGradientToColor: TSpeedButton;
bActiveTabHeaderFontColor: TSpeedButton;
cbPaneStyle: TComboBox; cbPaneStyle: TComboBox;
ColorView: TShape;
gbPreview: TGroupBox; gbPreview: TGroupBox;
Label12: TLabel; Label12: TLabel;
LblCaptionBackground1: TLabel;
LblRGB: TLabel;
SmallImages: TImageList; SmallImages: TImageList;
LargeImages: TImageList; LargeImages: TImageList;
Label18: TLabel; Label18: TLabel;
LblInactiveTabHeaderFontColor: TLabel; LblInactiveTabHeaderFontColor: TLabel;
pInactiveTabHeaderFontColor: TPanel; pInactiveTabHeaderFont: TPanel;
Panel1: TPanel; ButtonPanel: TPanel;
bTabFrameColor: TSpeedButton;
SpkTab2: TSpkTab; SpkTab2: TSpkTab;
tbPreview: TSpkToolbar; tbPreview: TSpkToolbar;
SpkTab1: TSpkTab; SpkTab1: TSpkTab;
@ -107,7 +121,7 @@ type
bCancel: TButton; bCancel: TButton;
cdColorDialog: TColorDialog; cdColorDialog: TColorDialog;
fdFontDialog: TFontDialog; fdFontDialog: TFontDialog;
pActiveTabHeaderFontColor: TPanel; pActiveTabHeaderFont: TPanel;
pPaneCaptionFontColor: TPanel; pPaneCaptionFontColor: TPanel;
TabSheet4: TTabSheet; TabSheet4: TTabSheet;
bImport: TButton; bImport: TButton;
@ -125,8 +139,20 @@ type
procedure bExportClick(Sender: TObject); procedure bExportClick(Sender: TObject);
procedure bImportClick(Sender: TObject); procedure bImportClick(Sender: TObject);
procedure bInactiveTabHeaderFontColorClick(Sender: TObject);
procedure bPaneBorderDarkColorClick(Sender: TObject);
procedure bPaneBorderLightColorClick(Sender: TObject);
procedure bPaneCaptionBackgroundColorClick(Sender: TObject);
procedure bPaneCaptionFontColorClick(Sender: TObject);
procedure bPaneGradientFromColorClick(Sender: TObject);
procedure bPaneGradientToColorClick(Sender: TObject);
procedure bResetClick(Sender: TObject); procedure bResetClick(Sender: TObject);
procedure bTabBorderColorClick(Sender: TObject);
procedure bTabGradientFromColorClick(Sender: TObject);
procedure bTabGradientToColorClick(Sender: TObject);
procedure bActiveTabHeaderFontColorClick(Sender: TObject);
procedure cbItemActiveGradientKindChange(Sender: TObject); procedure cbItemActiveGradientKindChange(Sender: TObject);
procedure cbItemHottrackGradientKindChange(Sender: TObject); procedure cbItemHottrackGradientKindChange(Sender: TObject);
procedure cbItemIdleGradientKindChange(Sender: TObject); procedure cbItemIdleGradientKindChange(Sender: TObject);
@ -134,16 +160,16 @@ type
procedure cbPaneStyleChange(Sender: TObject); procedure cbPaneStyleChange(Sender: TObject);
procedure cbTabGradientKindChange(Sender: TObject); procedure cbTabGradientKindChange(Sender: TObject);
procedure cbLinkItemClick(Sender: TObject);
procedure cbLinkPaneClick(Sender: TObject);
procedure cbLinkTabClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure pActiveTabHeaderFontColorClick(Sender: TObject); procedure pActiveTabHeaderFontClick(Sender: TObject);
procedure pInactiveTabHeaderFontColorClick(Sender: TObject); procedure pInactiveTabHeaderFontClick(Sender: TObject);
procedure cbLinkItemClick(Sender: TObject);
procedure cbLinkPaneClick(Sender: TObject);
procedure cbLinkTabClick(Sender: TObject);
procedure pTabFrameClick(Sender: TObject); procedure pTabFrameClick(Sender: TObject);
procedure pTabGradientFromClick(Sender: TObject); procedure pTabGradientFromClick(Sender: TObject);
@ -182,7 +208,6 @@ type
procedure pTabHeaderFontClick(Sender: TObject); procedure pTabHeaderFontClick(Sender: TObject);
private private
{ Private declarations }
procedure SetLinkedFrameColor(AColor : TColor); procedure SetLinkedFrameColor(AColor : TColor);
procedure SetLinkedGradientFromColor(AColor : TColor); procedure SetLinkedGradientFromColor(AColor : TColor);
procedure SetLinkedGradientToColor(AColor : TColor); procedure SetLinkedGradientToColor(AColor : TColor);
@ -199,6 +224,19 @@ type
procedure SetPanelFont(Panel : TPanel; AFont : TFont); procedure SetPanelFont(Panel : TPanel; AFont : TFont);
procedure SetComboGradientKind(Combo : TComboBox; GradientType : TBackgroundKind); procedure SetComboGradientKind(Combo : TComboBox; GradientType : TBackgroundKind);
procedure LoadAppearance(AAppearance : TSpkToolbarAppearance); procedure LoadAppearance(AAppearance : TSpkToolbarAppearance);
private { Color picker }
FScreenBitmap: TBitmap;
FScreenshotForm: TForm;
function PickColor(APanel: TPanel): Boolean;
procedure ScreenshotKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
procedure ScreenshotMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
procedure ScreenshotMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: integer);
procedure ScreenshotMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
public public
property Appearance : TSpkToolbarAppearance read GetAppearance write SetAppearance; property Appearance : TSpkToolbarAppearance read GetAppearance write SetAppearance;
{ Public declarations } { Public declarations }
@ -297,6 +335,124 @@ begin
Panel.Caption := AFont.Name + ', ' + IntToStr(AFont.Size); Panel.Caption := AFont.Name + ', ' + IntToStr(AFont.Size);
end; end;
procedure TfrmAppearanceEditWindow.bTabBorderColorClick(Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pTabFrame) then begin
tbPreview.Appearance.Tab.BorderColor := pTabFrame.Color;
if cbLinkTab.checked then
SetLinkedFrameColor(pTabFrame.Color)
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bTabGradientFromColorClick(Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pTabGradientFrom) then begin
tbPreview.Appearance.Tab.GradientFromColor := pTabGradientFrom.Color;
if cbLinkTab.checked then
SetLinkedFrameColor(pTabGradientFrom.Color)
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bTabGradientToColorClick(Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pTabGradientTo) then begin
tbPreview.Appearance.Tab.GradientToColor := pTabGradientTo.Color;
if cbLinkTab.checked then
SetLinkedFrameColor(pTabGradientTo.Color)
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bActiveTabHeaderFontColorClick(
Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pActiveTabHeaderFont) then begin
tbPreview.Appearance.Tab.TabHeaderFont.Color := pActiveTabHeaderFont.Color;
tbPreview.ForceRepaint;
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bInactiveTabHeaderFontColorClick(
Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pInactiveTabHeaderFont) then begin
tbPreview.Appearance.Tab.InactiveTabHeaderFontColor := pInactiveTabHeaderFont.Color;
tbPreview.ForceRepaint;
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bPaneBorderDarkColorClick(Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pPaneBorderDark) then begin
tbPreview.Appearance.Pane.BorderDarkColor := pPaneBorderDark.Color;
if cbLinkPane.Checked then
SetLinkedFrameColor(pPaneBorderDark.Color)
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bPaneBorderLightColorClick(Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pPaneBorderLight) then begin
tbPreview.Appearance.Pane.BorderLightColor := pPaneBorderLight.Color;
if cbLinkPane.Checked then
SetLinkedFrameColor(pPaneBorderLight.Color)
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bPaneCaptionBackgroundColorClick(
Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pPaneCaptionBackground) then
tbPreview.Appearance.Pane.CaptionBgColor := pPaneCaptionBackground.Color;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bPaneCaptionFontColorClick(Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pPaneCaptionFontColor) then begin
tbPreview.Appearance.Pane.CaptionFont.Color := pPaneCaptionFontColor.Color;
tbPreview.ForceRepaint;
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bPaneGradientFromColorClick(Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pPaneGradientFrom) then begin
tbPreview.Appearance.Pane.GradientFromColor := pPaneGradientFrom.Color;
if cbLinkPane.Checked then
SetLinkedFrameColor(pPaneGradientFrom.Color)
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.bPaneGradientToColorClick(Sender: TObject);
begin
(Sender as TSpeedButton).Down := true;
if PickColor(pPaneGradientTo) then begin
tbPreview.Appearance.Pane.GradientToColor := pPaneGradientTo.Color;
if cbLinkPane.Checked then
SetLinkedFrameColor(pPaneGradientTo.Color)
end;
(Sender as TSpeedButton).Down := false;
end;
procedure TfrmAppearanceEditWindow.SwitchAttributesLink(const Value: boolean); procedure TfrmAppearanceEditWindow.SwitchAttributesLink(const Value: boolean);
begin begin
cbLinkTab.checked := Value; cbLinkTab.checked := Value;
@ -383,6 +539,19 @@ begin
LargeImages.AddIcon(Application.Icon); LargeImages.AddIcon(Application.Icon);
SmallImages.AddIcon(Application.Icon); SmallImages.AddIcon(Application.Icon);
SmallImages.GetBitmap(0, bTabFrameColor.Glyph);
SmallImages.GetBitmap(0, bTabGradientFromColor.Glyph);
SmallImages.GetBitmap(0, bTabGradientToColor.Glyph);
SmallImages.GetBitmap(0, bActiveTabHeaderFontColor.Glyph);
SmallImages.GetBitmap(0, bInactiveTabHeaderFontColor.Glyph);
SmallImages.GetBitmap(0, bPaneBorderDarkColor.Glyph);
SmallImages.GetBitmap(0, bPaneBorderLightColor.Glyph);
SmallImages.GetBitmap(0, bPaneGradientFromColor.Glyph);
SmallImages.GetBitmap(0, bPaneGradientToColor.Glyph);
SmallImages.GetBitmap(0, bPaneCaptionBackgroundColor.Glyph);
SmallImages.GetBitmap(0, bPaneCaptionFontColor.Glyph);
PageControl1.PageIndex := CurrPageIndex; PageControl1.PageIndex := CurrPageIndex;
end; end;
@ -407,8 +576,8 @@ begin
SetPanelColor(pTabGradientTo, GradientToColor); SetPanelColor(pTabGradientTo, GradientToColor);
SetComboGradientKind(cbTabGradientKind, GradientType); SetComboGradientKind(cbTabGradientKind, GradientType);
SetPanelFont(pTabHeaderFont, TabHeaderFont); SetPanelFont(pTabHeaderFont, TabHeaderFont);
SetPanelColor(pActiveTabHeaderFontColor, TabHeaderFont.Color); SetPanelColor(pActiveTabHeaderFont, TabHeaderFont.Color);
SetPanelColor(pInactiveTabHeaderFontColor, InactiveTabHeaderFontColor); SetPanelColor(pInactiveTabHeaderFont, InactiveTabHeaderFontColor);
end; end;
with Pane do with Pane do
@ -673,7 +842,6 @@ begin
if ChangeColor(Sender as TPanel) then if ChangeColor(Sender as TPanel) then
begin begin
tbPreview.Appearance.Pane.GradientFromColor:=(Sender as TPanel).Color; tbPreview.Appearance.Pane.GradientFromColor:=(Sender as TPanel).Color;
if cbLinkPane.Checked then if cbLinkPane.Checked then
SetLinkedGradientFromColor((Sender as TPanel).Color); SetLinkedGradientFromColor((Sender as TPanel).Color);
end; end;
@ -728,7 +896,6 @@ begin
if ChangeColor(Sender as TPanel) then if ChangeColor(Sender as TPanel) then
begin begin
tbPreview.Appearance.Tab.GradientToColor := (Sender as TPanel).Color; tbPreview.Appearance.Tab.GradientToColor := (Sender as TPanel).Color;
if cbLinkTab.Checked then if cbLinkTab.Checked then
SetLinkedGradientToColor((Sender as TPanel).Color); SetLinkedGradientToColor((Sender as TPanel).Color);
end; end;
@ -742,7 +909,7 @@ begin
end; end;
end; end;
procedure TfrmAppearanceEditWindow.pActiveTabHeaderFontColorClick(Sender: TObject); procedure TfrmAppearanceEditWindow.pActiveTabHeaderFontClick(Sender: TObject);
begin begin
if ChangeColor(Sender as TPanel) then if ChangeColor(Sender as TPanel) then
begin begin
@ -751,7 +918,7 @@ begin
end; end;
end; end;
procedure TfrmAppearanceEditWindow.pInactiveTabHeaderFontColorClick( procedure TfrmAppearanceEditWindow.pInactiveTabHeaderFontClick(
Sender: TObject); Sender: TObject);
begin begin
if ChangeColor(Sender as TPanel) then if ChangeColor(Sender as TPanel) then
@ -761,4 +928,103 @@ begin
end; end;
end; end;
function TfrmAppearanceEditWindow.PickColor(APanel: TPanel): Boolean;
var
screenDC: HDC;
cvOrigin: TPoint;
rgbOrigin: TPoint;
P: TPoint;
img: TImage;
begin
FScreenshotForm := TForm.Create(self);
FScreenBitmap := TBitmap.Create;
try
screenDC := GetDC(0);
try
FScreenBitmap.LoadFromDevice(ScreenDC);
finally
ReleaseDC(0, screenDC);
end;
FScreenshotForm.BorderStyle := bsNone;
FScreenshotForm.FormStyle := fsStayOnTop;
FScreenshotForm.SetBounds(0, 0, Screen.Width, Screen.Height);
img := TImage.Create(FScreenshotForm);
img.Picture.Bitmap := FScreenBitmap;
img.Parent := FScreenshotForm;
img.Align := alClient;
cvOrigin := ColorView.BoundsRect.TopLeft;
P := ColorView.ClientToScreen(Point(0, 0));
ColorView.Parent := FScreenshotForm;
ColorView.Top := P.Y;
ColorView.Left := P.X;
ColorView.Show;
rgbOrigin := LblRGB.BoundsRect.TopLeft;
P := LblRGB.ClientToScreen(Point(0, 0));
LblRGB.Parent := FScreenshotForm;
LblRGB.Top := P.Y;
LblRGB.Left := P.X;
LblRGB.Show;
// Screen.Cursors[1] := LoadCursorFromLazarusResource('picker');
FScreenshotForm.Cursor := crCross; //1;
img.Cursor := crCross; //1;
FScreenshotForm.OnKeyDown := ScreenshotKeyDown;
img.OnMouseUp := ScreenshotMouseUp;
img.OnMouseDown := ScreenshotMouseDown;
img.OnMouseMove := ScreenshotMouseMove;
Result := FScreenshotForm.ShowModal = mrOK;
if Result then
SetPanelColor(APanel, ColorView.Brush.Color);
ColorView.Hide;
ColorView.Top := cvOrigin.Y;
ColorView.Left := cvOrigin.X;
ColorView.Parent := ButtonPanel;
LblRGB.Hide;
LblRGB.Top := rgbOrigin.Y;
LblRGB.Left := rgbOrigin.X;
LblRGB.Parent := ButtonPanel;
finally
FScreenshotForm.Free;
FScreenBitmap.Free;
end;
end;
procedure TfrmAppearanceEditWindow.ScreenshotKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
case Key of
VK_ESCAPE: FScreenshotForm.ModalResult := mrCancel;
VK_RETURN: FScreenshotForm.ModalResult := mrOK;
end;
end;
procedure TfrmAppearanceEditWindow.ScreenshotMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: integer);
begin
ColorView.Brush.Color := FScreenBitmap.Canvas.Pixels[X, Y];
LblRGB.Caption := '$' + IntToHex(ColorView.Brush.Color, 8);
end;
procedure TfrmAppearanceEditWindow.ScreenshotMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: integer);
begin
ColorView.Brush.Color := FScreenBitmap.Canvas.Pixels[X, Y];
LblRGB.Caption := '$' + IntToHex(ColorView.Brush.Color, 8);
end;
procedure TfrmAppearanceEditWindow.ScreenshotMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: integer);
begin
FScreenshotForm.ModalResult := mrOK;
end;
end. end.