SpkToolbar: Update Basic demo to show the new TMenuButton. Patch by Husker (https://forum.lazarus.freepascal.org/index.php/topic,51552.msg379413.html#msg379413).

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7733 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-10-02 21:19:59 +00:00
parent a7c30e362e
commit 29499ce5e9
4 changed files with 215 additions and 23 deletions

View File

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectOptions> <ProjectOptions>
<Version Value="10"/> <Version Value="12"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<General> <General>
<Flags> <Flags>
<MainUnitHasUsesSectionForAllUnits Value="False"/> <MainUnitHasUsesSectionForAllUnits Value="False"/>
<MainUnitHasCreateFormStatements Value="False"/> <MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/> <MainUnitHasTitleStatement Value="False"/>
<CompatibilityMode Value="True"/>
</Flags> </Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
<UseXPManifest Value="True"/> <UseXPManifest Value="True"/>
<Icon Value="0"/> <Icon Value="0"/>
@ -23,13 +23,12 @@
</BuildModes> </BuildModes>
<PublishOptions> <PublishOptions>
<Version Value="2"/> <Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
</PublishOptions> </PublishOptions>
<RunParams> <RunParams>
<local> <FormatVersion Value="2"/>
<FormatVersion Value="1"/> <Modes Count="1">
</local> <Mode0 Name="default"/>
</Modes>
</RunParams> </RunParams>
<RequiredPackages Count="2"> <RequiredPackages Count="2">
<Item1> <Item1>
@ -72,7 +71,6 @@
<Linking> <Linking>
<Debugging> <Debugging>
<DebugInfoType Value="dsDwarf2"/> <DebugInfoType Value="dsDwarf2"/>
<UseExternalDbgSyms Value="True"/>
</Debugging> </Debugging>
<LinkSmart Value="True"/> <LinkSmart Value="True"/>
<Options> <Options>

View File

@ -19,10 +19,29 @@ object Form2: TForm2
Color = clBtnFace Color = clBtnFace
Appearance.Tab.TabHeaderFont.Color = 2763306 Appearance.Tab.TabHeaderFont.Color = 2763306
Appearance.Tab.BorderColor = 10921638 Appearance.Tab.BorderColor = 10921638
Appearance.Tab.CornerRadius = 4
Appearance.Tab.GradientFromColor = 16316664 Appearance.Tab.GradientFromColor = 16316664
Appearance.Tab.GradientToColor = 15329769 Appearance.Tab.GradientToColor = 15329769
Appearance.Tab.GradientType = bkConcave Appearance.Tab.GradientType = bkConcave
Appearance.Tab.InactiveTabHeaderFontColor = 9126421 Appearance.Tab.InactiveTabHeaderFontColor = 9126421
Appearance.MenuButton.CaptionFont.Color = clWhite
Appearance.MenuButton.IdleFrameColor = 14727067
Appearance.MenuButton.IdleGradientFromColor = 15653832
Appearance.MenuButton.IdleGradientToColor = 15323324
Appearance.MenuButton.IdleGradientType = bkConcave
Appearance.MenuButton.IdleCaptionColor = clWhite
Appearance.MenuButton.HotTrackFrameColor = 10569759
Appearance.MenuButton.HotTrackGradientFromColor = 14649927
Appearance.MenuButton.HotTrackGradientToColor = 12017961
Appearance.MenuButton.HotTrackGradientType = bkConcave
Appearance.MenuButton.HotTrackCaptionColor = clWhite
Appearance.MenuButton.HotTrackBrightnessChange = 0
Appearance.MenuButton.ActiveFrameColor = 11095324
Appearance.MenuButton.ActiveGradientFromColor = 14518846
Appearance.MenuButton.ActiveGradientToColor = 12411174
Appearance.MenuButton.ActiveGradientType = bkConcave
Appearance.MenuButton.ActiveCaptionColor = clWhite
Appearance.MenuButton.ShapeStyle = mbssRounded
Appearance.Pane.BorderDarkColor = 10921638 Appearance.Pane.BorderDarkColor = 10921638
Appearance.Pane.BorderLightColor = clWhite Appearance.Pane.BorderLightColor = clWhite
Appearance.Pane.CaptionBgColor = 15000804 Appearance.Pane.CaptionBgColor = 15000804
@ -57,19 +76,40 @@ object Form2: TForm2
TabIndex = 0 TabIndex = 0
Images = Images Images = Images
LargeImages = LargeImages LargeImages = LargeImages
MenuButtonCaption = 'Menu'
Tabs = ( Tabs = (
'SpkTab1' 'SpkTab1'
'SpkTab2' 'SpkTab2'
'SpkTab3'
) )
object SpkTab1: TSpkTab object SpkTab1: TSpkTab
CustomAppearance.Tab.TabHeaderFont.Color = 9126421 CustomAppearance.Tab.TabHeaderFont.Color = 9126421
CustomAppearance.Tab.TabHeaderFont.Height = -13 CustomAppearance.Tab.TabHeaderFont.Height = -13
CustomAppearance.Tab.TabHeaderFont.Name = 'Calibri' CustomAppearance.Tab.TabHeaderFont.Name = 'Calibri'
CustomAppearance.Tab.BorderColor = 14922381 CustomAppearance.Tab.BorderColor = 14922381
CustomAppearance.Tab.CornerRadius = 4
CustomAppearance.Tab.GradientFromColor = 16115934 CustomAppearance.Tab.GradientFromColor = 16115934
CustomAppearance.Tab.GradientToColor = 15587527 CustomAppearance.Tab.GradientToColor = 15587527
CustomAppearance.Tab.GradientType = bkConcave CustomAppearance.Tab.GradientType = bkConcave
CustomAppearance.Tab.InactiveTabHeaderFontColor = 9126421 CustomAppearance.Tab.InactiveTabHeaderFontColor = 9126421
CustomAppearance.MenuButton.CaptionFont.Color = clWhite
CustomAppearance.MenuButton.IdleFrameColor = 14727067
CustomAppearance.MenuButton.IdleGradientFromColor = 15653832
CustomAppearance.MenuButton.IdleGradientToColor = 15323324
CustomAppearance.MenuButton.IdleGradientType = bkConcave
CustomAppearance.MenuButton.IdleCaptionColor = 11631958
CustomAppearance.MenuButton.HotTrackFrameColor = 10211293
CustomAppearance.MenuButton.HotTrackGradientFromColor = 14351615
CustomAppearance.MenuButton.HotTrackGradientToColor = 5101567
CustomAppearance.MenuButton.HotTrackGradientType = bkConcave
CustomAppearance.MenuButton.HotTrackCaptionColor = 8864367
CustomAppearance.MenuButton.HotTrackBrightnessChange = 40
CustomAppearance.MenuButton.ActiveFrameColor = 5535371
CustomAppearance.MenuButton.ActiveGradientFromColor = 7126014
CustomAppearance.MenuButton.ActiveGradientToColor = 4035324
CustomAppearance.MenuButton.ActiveGradientType = bkConcave
CustomAppearance.MenuButton.ActiveCaptionColor = 8405614
CustomAppearance.MenuButton.ShapeStyle = mbssRounded
CustomAppearance.Pane.BorderDarkColor = 14335646 CustomAppearance.Pane.BorderDarkColor = 14335646
CustomAppearance.Pane.BorderLightColor = 16315117 CustomAppearance.Pane.BorderLightColor = 16315117
CustomAppearance.Pane.CaptionBgColor = 15849922 CustomAppearance.Pane.CaptionBgColor = 15849922
@ -105,7 +145,7 @@ object Form2: TForm2
CustomAppearance.Element.ActiveInnerDarkColor = 961020 CustomAppearance.Element.ActiveInnerDarkColor = 961020
CustomAppearance.Element.ActiveCaptionColor = 8405614 CustomAppearance.Element.ActiveCaptionColor = 8405614
CustomAppearance.Element.Style = esRounded CustomAppearance.Element.Style = esRounded
Caption = 'Narzedzia glówne' Caption = 'Main Tab'
Panes = ( Panes = (
'SpkPane2' 'SpkPane2'
'SpkPane3' 'SpkPane3'
@ -114,7 +154,9 @@ object Form2: TForm2
'SpkPane6' 'SpkPane6'
) )
object SpkPane2: TSpkPane object SpkPane2: TSpkPane
Caption = 'Plik' Caption = 'File'
ShowMoreOptionsButton = True
OnMoreOptionsButtonClick = SpkPane2MoreOptionsButtonClick
Items = ( Items = (
'SpkLargeButton4' 'SpkLargeButton4'
'SpkSmallButton2' 'SpkSmallButton2'
@ -122,31 +164,34 @@ object Form2: TForm2
'SpkSmallButton4' 'SpkSmallButton4'
) )
object SpkLargeButton4: TSpkLargeButton object SpkLargeButton4: TSpkLargeButton
Caption = 'Nowy' Caption = 'New'
LargeImageIndex = 3 LargeImageIndex = 3
end end
object SpkSmallButton2: TSpkSmallButton object SpkSmallButton2: TSpkSmallButton
Caption = 'Otwórz' Caption = 'Open'
HideFrameWhenIdle = True HideFrameWhenIdle = True
ImageIndex = 16 ImageIndex = 16
TableBehaviour = tbBeginsRow TableBehaviour = tbBeginsRow
DropdownMenu = PopupMenu2 DropdownMenu = PopupMenu2
end end
object SpkSmallButton3: TSpkSmallButton object SpkSmallButton3: TSpkSmallButton
Caption = 'Zapisz' Caption = 'Save'
HideFrameWhenIdle = True HideFrameWhenIdle = True
ImageIndex = 56 ImageIndex = 56
TableBehaviour = tbBeginsRow TableBehaviour = tbBeginsRow
end end
object SpkSmallButton4: TSpkSmallButton object SpkSmallButton4: TSpkSmallButton
Caption = 'Zapisz jako...' Caption = 'Save as...'
HideFrameWhenIdle = True HideFrameWhenIdle = True
ImageIndex = 57 ImageIndex = 57
TableBehaviour = tbBeginsRow TableBehaviour = tbBeginsRow
end end
end end
object SpkPane3: TSpkPane object SpkPane3: TSpkPane
Caption = 'Edycja' Caption = 'Edit'
ShowMoreOptionsButtonStyle = mobsArrow
ShowMoreOptionsButton = True
OnMoreOptionsButtonClick = SpkPane3MoreOptionsButtonClick
Items = ( Items = (
'SpkSmallButton1' 'SpkSmallButton1'
'SpkSmallButton5' 'SpkSmallButton5'
@ -191,22 +236,22 @@ object Form2: TForm2
end end
end end
object SpkPane4: TSpkPane object SpkPane4: TSpkPane
Caption = 'Szukanie' Caption = 'Search'
Items = ( Items = (
'SpkLargeButton5' 'SpkLargeButton5'
'SpkSmallButton9' 'SpkSmallButton9'
'SpkSmallButton10' 'SpkSmallButton10'
) )
object SpkLargeButton5: TSpkLargeButton object SpkLargeButton5: TSpkLargeButton
Caption = 'Szukaj' Caption = 'Search'
LargeImageIndex = 4 LargeImageIndex = 4
end end
object SpkSmallButton9: TSpkSmallButton object SpkSmallButton9: TSpkSmallButton
Caption = 'Szukaj dalej' Caption = 'Search next'
ImageIndex = 41 ImageIndex = 41
end end
object SpkSmallButton10: TSpkSmallButton object SpkSmallButton10: TSpkSmallButton
Caption = 'Zamień' Caption = 'Replace'
ImageIndex = 55 ImageIndex = 55
TableBehaviour = tbBeginsRow TableBehaviour = tbBeginsRow
end end
@ -272,10 +317,29 @@ object Form2: TForm2
CustomAppearance.Tab.TabHeaderFont.Height = -13 CustomAppearance.Tab.TabHeaderFont.Height = -13
CustomAppearance.Tab.TabHeaderFont.Name = 'Calibri' CustomAppearance.Tab.TabHeaderFont.Name = 'Calibri'
CustomAppearance.Tab.BorderColor = 14922381 CustomAppearance.Tab.BorderColor = 14922381
CustomAppearance.Tab.CornerRadius = 4
CustomAppearance.Tab.GradientFromColor = 16115934 CustomAppearance.Tab.GradientFromColor = 16115934
CustomAppearance.Tab.GradientToColor = 15587527 CustomAppearance.Tab.GradientToColor = 15587527
CustomAppearance.Tab.GradientType = bkConcave CustomAppearance.Tab.GradientType = bkConcave
CustomAppearance.Tab.InactiveTabHeaderFontColor = 9126421 CustomAppearance.Tab.InactiveTabHeaderFontColor = 9126421
CustomAppearance.MenuButton.CaptionFont.Color = clWhite
CustomAppearance.MenuButton.IdleFrameColor = 14727067
CustomAppearance.MenuButton.IdleGradientFromColor = 15653832
CustomAppearance.MenuButton.IdleGradientToColor = 15323324
CustomAppearance.MenuButton.IdleGradientType = bkConcave
CustomAppearance.MenuButton.IdleCaptionColor = 11631958
CustomAppearance.MenuButton.HotTrackFrameColor = 10211293
CustomAppearance.MenuButton.HotTrackGradientFromColor = 14351615
CustomAppearance.MenuButton.HotTrackGradientToColor = 5101567
CustomAppearance.MenuButton.HotTrackGradientType = bkConcave
CustomAppearance.MenuButton.HotTrackCaptionColor = 8864367
CustomAppearance.MenuButton.HotTrackBrightnessChange = 40
CustomAppearance.MenuButton.ActiveFrameColor = 5535371
CustomAppearance.MenuButton.ActiveGradientFromColor = 7126014
CustomAppearance.MenuButton.ActiveGradientToColor = 4035324
CustomAppearance.MenuButton.ActiveGradientType = bkConcave
CustomAppearance.MenuButton.ActiveCaptionColor = 8405614
CustomAppearance.MenuButton.ShapeStyle = mbssRounded
CustomAppearance.Pane.BorderDarkColor = 14335646 CustomAppearance.Pane.BorderDarkColor = 14335646
CustomAppearance.Pane.BorderLightColor = 16315117 CustomAppearance.Pane.BorderLightColor = 16315117
CustomAppearance.Pane.CaptionBgColor = 15849922 CustomAppearance.Pane.CaptionBgColor = 15849922
@ -311,12 +375,12 @@ object Form2: TForm2
CustomAppearance.Element.ActiveInnerDarkColor = 961020 CustomAppearance.Element.ActiveInnerDarkColor = 961020
CustomAppearance.Element.ActiveCaptionColor = 8405614 CustomAppearance.Element.ActiveCaptionColor = 8405614
CustomAppearance.Element.Style = esRounded CustomAppearance.Element.Style = esRounded
Caption = 'Katalogi' Caption = 'Catalogs'
Panes = ( Panes = (
'SpkPane5' 'SpkPane5'
) )
object SpkPane5: TSpkPane object SpkPane5: TSpkPane
Caption = 'Tafla' Caption = 'Pane'
Items = ( Items = (
'SpkLargeButton6' 'SpkLargeButton6'
'SpkLargeButton7' 'SpkLargeButton7'
@ -337,6 +401,83 @@ object Form2: TForm2
end end
end end
end end
object SpkTab3: TSpkTab
CustomAppearance.Tab.TabHeaderFont.Color = 9126421
CustomAppearance.Tab.BorderColor = 14922381
CustomAppearance.Tab.CornerRadius = 4
CustomAppearance.Tab.GradientFromColor = 16115934
CustomAppearance.Tab.GradientToColor = 15587527
CustomAppearance.Tab.GradientType = bkConcave
CustomAppearance.Tab.InactiveTabHeaderFontColor = 9126421
CustomAppearance.MenuButton.CaptionFont.Color = clWhite
CustomAppearance.MenuButton.IdleFrameColor = 14727067
CustomAppearance.MenuButton.IdleGradientFromColor = 15653832
CustomAppearance.MenuButton.IdleGradientToColor = 15323324
CustomAppearance.MenuButton.IdleGradientType = bkConcave
CustomAppearance.MenuButton.IdleCaptionColor = 11631958
CustomAppearance.MenuButton.HotTrackFrameColor = 10211293
CustomAppearance.MenuButton.HotTrackGradientFromColor = 14351615
CustomAppearance.MenuButton.HotTrackGradientToColor = 5101567
CustomAppearance.MenuButton.HotTrackGradientType = bkConcave
CustomAppearance.MenuButton.HotTrackCaptionColor = 8864367
CustomAppearance.MenuButton.HotTrackBrightnessChange = 40
CustomAppearance.MenuButton.ActiveFrameColor = 5535371
CustomAppearance.MenuButton.ActiveGradientFromColor = 7126014
CustomAppearance.MenuButton.ActiveGradientToColor = 4035324
CustomAppearance.MenuButton.ActiveGradientType = bkConcave
CustomAppearance.MenuButton.ActiveCaptionColor = 8405614
CustomAppearance.MenuButton.ShapeStyle = mbssRounded
CustomAppearance.Pane.BorderDarkColor = 14335646
CustomAppearance.Pane.BorderLightColor = 16315117
CustomAppearance.Pane.CaptionBgColor = 15849922
CustomAppearance.Pane.CaptionFont.Color = 9126421
CustomAppearance.Pane.GradientFromColor = 16115934
CustomAppearance.Pane.GradientToColor = 15587527
CustomAppearance.Pane.GradientType = bkConcave
CustomAppearance.Element.IdleFrameColor = 14727067
CustomAppearance.Element.IdleGradientFromColor = 15653832
CustomAppearance.Element.IdleGradientToColor = 15323324
CustomAppearance.Element.IdleGradientType = bkConcave
CustomAppearance.Element.IdleInnerLightColor = 15852501
CustomAppearance.Element.IdleInnerDarkColor = 15520702
CustomAppearance.Element.IdleCaptionColor = 11631958
CustomAppearance.Element.HotTrackFrameColor = 10211293
CustomAppearance.Element.HotTrackGradientFromColor = 14351615
CustomAppearance.Element.HotTrackGradientToColor = 5101567
CustomAppearance.Element.HotTrackGradientType = bkConcave
CustomAppearance.Element.HotTrackInnerLightColor = 12972543
CustomAppearance.Element.HotTrackInnerDarkColor = 8045272
CustomAppearance.Element.HotTrackCaptionColor = 8864367
CustomAppearance.Element.HotTrackBrightnessChange = 40
CustomAppearance.Element.ActiveFrameColor = 5535371
CustomAppearance.Element.ActiveGradientFromColor = 7126014
CustomAppearance.Element.ActiveGradientToColor = 4035324
CustomAppearance.Element.ActiveGradientType = bkConcave
CustomAppearance.Element.ActiveInnerLightColor = 961020
CustomAppearance.Element.ActiveInnerDarkColor = 961020
CustomAppearance.Element.ActiveCaptionColor = 8405614
CustomAppearance.Element.Style = esRounded
Caption = 'View'
Panes = (
'SpkPane7'
)
object SpkPane7: TSpkPane
Caption = 'Menu button'
Items = (
'SpkCheckbox1'
'SpkCheckbox2'
)
object SpkCheckbox1: TSpkCheckbox
Caption = 'Show Menu button'
OnClick = SpkCheckbox1Click
end
object SpkCheckbox2: TSpkCheckbox
Caption = 'Dropdown arrow on Menu button'
OnClick = SpkCheckbox2Click
TableBehaviour = tbBeginsRow
end
end
end
end end
object ActionList1: TActionList object ActionList1: TActionList
left = 128 left = 128

View File

@ -7,8 +7,8 @@ interface
uses uses
LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SpkToolbar, StdCtrls, ExtCtrls, SpkGUITools, SpkMath, SpkGraphTools, Dialogs, SpkToolbar, StdCtrls, ExtCtrls, SpkGUITools, SpkMath, SpkGraphTools,
Spin, spkt_Tab, spkt_Pane, ActnList, {ButtonGroup,} Menus, spkt_Types, Spin, spkt_Tab, spkt_Pane, ActnList, Menus, spkt_Types,
spkt_Tools, ImgList, spkt_BaseItem, spkt_Buttons; spkt_Tools, ImgList, spkt_BaseItem, spkt_Buttons, spkt_Checkboxes;
type type
TForm2 = class(TForm) TForm2 = class(TForm)
@ -17,6 +17,10 @@ type
PopupMenu1: TPopupMenu; PopupMenu1: TPopupMenu;
LargeImages: TImageList; LargeImages: TImageList;
Images: TImageList; Images: TImageList;
SpkCheckbox1: TSpkCheckbox;
SpkCheckbox2: TSpkCheckbox;
SpkPane7: TSpkPane;
SpkTab3: TSpkTab;
SpkToolbar1: TSpkToolbar; SpkToolbar1: TSpkToolbar;
SpkTab1: TSpkTab; SpkTab1: TSpkTab;
CUsersSpookDokumenty1: TMenuItem; CUsersSpookDokumenty1: TMenuItem;
@ -54,6 +58,12 @@ type
SpkSmallButton12: TSpkSmallButton; SpkSmallButton12: TSpkSmallButton;
SpkSmallButton13: TSpkSmallButton; SpkSmallButton13: TSpkSmallButton;
procedure Button2Click(Sender: TObject); procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpkCheckbox1Click(Sender: TObject);
procedure SpkCheckbox2Click(Sender: TObject);
procedure SpkPane2MoreOptionsButtonClick(Sender: TObject);
procedure SpkPane3MoreOptionsButtonClick(Sender: TObject);
private private
{ Private declarations } { Private declarations }
public public
@ -113,4 +123,47 @@ for k := 0 to 6 do
SpkToolbar1.EndUpdate; SpkToolbar1.EndUpdate;
end; end;
procedure TForm2.FormCreate(Sender: TObject);
begin
//
end;
procedure TForm2.FormShow(Sender: TObject);
begin
SpkCheckbox1.Checked := SpkToolbar1.ShowMenuButton;
if (SpkToolbar1.MenuButtonStyle = mbsCaption) then
SpkCheckbox2.Checked := false
else
SpkCheckbox2.Checked := true;
end;
procedure TForm2.SpkCheckbox1Click(Sender: TObject);
begin
SpkToolbar1.ShowMenuButton := not SpkToolbar1.ShowMenuButton;
SpkCheckbox1.Checked := SpkToolbar1.ShowMenuButton;
end;
procedure TForm2.SpkCheckbox2Click(Sender: TObject);
begin
if (SpkToolbar1.MenuButtonStyle = mbsCaption) then
SpkToolbar1.MenuButtonStyle := mbsCaptionDropdown
else
SpkToolbar1.MenuButtonStyle := mbsCaption;
if (SpkToolbar1.MenuButtonStyle = mbsCaption) then
SpkCheckbox2.Checked := false
else
SpkCheckbox2.Checked := true;
end;
procedure TForm2.SpkPane2MoreOptionsButtonClick(Sender: TObject);
begin
ShowMessage('You clicked on ''More options'' button of the File pane.');
end;
procedure TForm2.SpkPane3MoreOptionsButtonClick(Sender: TObject);
begin
ShowMessage('You clicked on ''More options'' button of the Edit pane.');
end;
end. end.