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

View File

@ -19,10 +19,29 @@ object Form2: TForm2
Color = clBtnFace
Appearance.Tab.TabHeaderFont.Color = 2763306
Appearance.Tab.BorderColor = 10921638
Appearance.Tab.CornerRadius = 4
Appearance.Tab.GradientFromColor = 16316664
Appearance.Tab.GradientToColor = 15329769
Appearance.Tab.GradientType = bkConcave
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.BorderLightColor = clWhite
Appearance.Pane.CaptionBgColor = 15000804
@ -57,19 +76,40 @@ object Form2: TForm2
TabIndex = 0
Images = Images
LargeImages = LargeImages
MenuButtonCaption = 'Menu'
Tabs = (
'SpkTab1'
'SpkTab2'
'SpkTab3'
)
object SpkTab1: TSpkTab
CustomAppearance.Tab.TabHeaderFont.Color = 9126421
CustomAppearance.Tab.TabHeaderFont.Height = -13
CustomAppearance.Tab.TabHeaderFont.Name = 'Calibri'
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
@ -105,7 +145,7 @@ object Form2: TForm2
CustomAppearance.Element.ActiveInnerDarkColor = 961020
CustomAppearance.Element.ActiveCaptionColor = 8405614
CustomAppearance.Element.Style = esRounded
Caption = 'Narzedzia glówne'
Caption = 'Main Tab'
Panes = (
'SpkPane2'
'SpkPane3'
@ -114,7 +154,9 @@ object Form2: TForm2
'SpkPane6'
)
object SpkPane2: TSpkPane
Caption = 'Plik'
Caption = 'File'
ShowMoreOptionsButton = True
OnMoreOptionsButtonClick = SpkPane2MoreOptionsButtonClick
Items = (
'SpkLargeButton4'
'SpkSmallButton2'
@ -122,31 +164,34 @@ object Form2: TForm2
'SpkSmallButton4'
)
object SpkLargeButton4: TSpkLargeButton
Caption = 'Nowy'
Caption = 'New'
LargeImageIndex = 3
end
object SpkSmallButton2: TSpkSmallButton
Caption = 'Otwórz'
Caption = 'Open'
HideFrameWhenIdle = True
ImageIndex = 16
TableBehaviour = tbBeginsRow
DropdownMenu = PopupMenu2
end
object SpkSmallButton3: TSpkSmallButton
Caption = 'Zapisz'
Caption = 'Save'
HideFrameWhenIdle = True
ImageIndex = 56
TableBehaviour = tbBeginsRow
end
object SpkSmallButton4: TSpkSmallButton
Caption = 'Zapisz jako...'
Caption = 'Save as...'
HideFrameWhenIdle = True
ImageIndex = 57
TableBehaviour = tbBeginsRow
end
end
object SpkPane3: TSpkPane
Caption = 'Edycja'
Caption = 'Edit'
ShowMoreOptionsButtonStyle = mobsArrow
ShowMoreOptionsButton = True
OnMoreOptionsButtonClick = SpkPane3MoreOptionsButtonClick
Items = (
'SpkSmallButton1'
'SpkSmallButton5'
@ -191,22 +236,22 @@ object Form2: TForm2
end
end
object SpkPane4: TSpkPane
Caption = 'Szukanie'
Caption = 'Search'
Items = (
'SpkLargeButton5'
'SpkSmallButton9'
'SpkSmallButton10'
)
object SpkLargeButton5: TSpkLargeButton
Caption = 'Szukaj'
Caption = 'Search'
LargeImageIndex = 4
end
object SpkSmallButton9: TSpkSmallButton
Caption = 'Szukaj dalej'
Caption = 'Search next'
ImageIndex = 41
end
object SpkSmallButton10: TSpkSmallButton
Caption = 'Zamień'
Caption = 'Replace'
ImageIndex = 55
TableBehaviour = tbBeginsRow
end
@ -272,10 +317,29 @@ object Form2: TForm2
CustomAppearance.Tab.TabHeaderFont.Height = -13
CustomAppearance.Tab.TabHeaderFont.Name = 'Calibri'
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
@ -311,12 +375,12 @@ object Form2: TForm2
CustomAppearance.Element.ActiveInnerDarkColor = 961020
CustomAppearance.Element.ActiveCaptionColor = 8405614
CustomAppearance.Element.Style = esRounded
Caption = 'Katalogi'
Caption = 'Catalogs'
Panes = (
'SpkPane5'
)
object SpkPane5: TSpkPane
Caption = 'Tafla'
Caption = 'Pane'
Items = (
'SpkLargeButton6'
'SpkLargeButton7'
@ -337,6 +401,83 @@ object Form2: TForm2
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
object ActionList1: TActionList
left = 128

View File

@ -7,8 +7,8 @@ interface
uses
LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SpkToolbar, StdCtrls, ExtCtrls, SpkGUITools, SpkMath, SpkGraphTools,
Spin, spkt_Tab, spkt_Pane, ActnList, {ButtonGroup,} Menus, spkt_Types,
spkt_Tools, ImgList, spkt_BaseItem, spkt_Buttons;
Spin, spkt_Tab, spkt_Pane, ActnList, Menus, spkt_Types,
spkt_Tools, ImgList, spkt_BaseItem, spkt_Buttons, spkt_Checkboxes;
type
TForm2 = class(TForm)
@ -17,6 +17,10 @@ type
PopupMenu1: TPopupMenu;
LargeImages: TImageList;
Images: TImageList;
SpkCheckbox1: TSpkCheckbox;
SpkCheckbox2: TSpkCheckbox;
SpkPane7: TSpkPane;
SpkTab3: TSpkTab;
SpkToolbar1: TSpkToolbar;
SpkTab1: TSpkTab;
CUsersSpookDokumenty1: TMenuItem;
@ -54,6 +58,12 @@ type
SpkSmallButton12: TSpkSmallButton;
SpkSmallButton13: TSpkSmallButton;
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 declarations }
public
@ -113,4 +123,47 @@ for k := 0 to 6 do
SpkToolbar1.EndUpdate;
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.