6 Windows, Messages, SysUtils, Classes, Controls,
7 StdCtrls, ExtCtrls, ComCtrls, ActnList, IniFiles,
11 //
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\83f
\83t
\83H
\83\8b\83g
12 DEF_STANDARD: array[0..6] of string = ('RoundAction',
14 'CabinetVisibleAction',
19 //
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\83f
\83t
\83H
\83\8b\83g
20 DEF_LIST: array[0..16] of string = ('ListNumberVisibleAction',
33 'SelectListReloadAction',
34 'SelectThreadReloadAction',
36 'SelectReservAction');
37 //
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\83f
\83t
\83H
\83\8b\83g
38 DEF_BROWSER: array[0..15] of string = ('BrowserMaxAction',
56 //
\83{
\83^
\83\93\83X
\83^
\83C
\83\8b\82ª"tbsCheck"
\83{
\83^
\83\93\82Ì
\83A
\83N
\83V
\83\87\83\93
57 CHECK_STYLE: array[0..31] of string = ('CabinetVisibleAction',
64 'StdToolBarVisibleAction',
65 'AddressBarVisibleAction',
66 'LinkBarVisibleAction',
67 'ListToolBarVisibleAction',
68 'ListNameBarVisibleAction',
69 'BrowserToolBarVisibleAction',
70 'BrowserNameBarVisibleAction',
71 'MsgBarVisibleAction',
72 'StatusBarVisibleAction',
74 'CabinetHistoryAction',
75 'CabinetFavoriteAction',
80 'BrowserTabVisibleAction',
81 'BrowserTabTopAction',
82 'BrowserTabBottomAction',
83 'BrowserTabTabStyleAction',
84 'BrowserTabButtonStyleAction',
85 'BrowserTabFlatStyleAction',
87 'ListNumberVisibleAction',
92 //
\83{
\83^
\83\93\82Ì
\83X
\83^
\83C
\83\8b\82ª"tbsDropDown"
\83{
\83^
\83\93\82Ì
\83A
\83N
\83V
\83\87\83\93
93 DROPDOWN_STYLE: array[0..1] of string = ('IconStyle',
96 INI_FILENAME: string = 'ToolBar.ini';
98 function IsCheckStyle(Action: TCustomAction): Boolean;
99 function IsDropDownStyle(Action: TCustomAction): Boolean;
100 procedure SetButtonStyle(Action: TCustomAction; Button: TToolButton);
101 function GetActionItem(ActionList: TActionList; ActionName: string): TCustomAction;
102 procedure ReadToolBarSetting(ActionList: TActionList; ToolBar: TToolBar);
103 procedure SaveToolBarSetting(ToolBar: TToolBar);
107 procedure ReadToolBarSetting(ActionList: TActionList; ToolBar: TToolBar);
113 Action: TCustomAction;
114 ToolButton: TToolButton;
116 FileName := GikoSys.GetConfigDir + INI_FILENAME;
117 if FileExists(FileName) then begin
118 for i := ToolBar.ButtonCount - 1 downto 0 do
119 ToolBar.RemoveControl(ToolBar.Buttons[i]);
121 ini := TMemIniFile.Create(FileName);
125 s := ini.ReadString(ToolBar.Name, 'Button' + IntToStr(i), '');
126 if s = '-' then begin
127 ToolButton := TToolButton.Create(ToolBar);
128 ToolButton.Style := tbsSeparator;
129 ToolButton.Width := 8;
130 ToolButton.Left := 10000;
131 ToolBar.InsertControl(ToolButton);
132 end else if s <> '' then begin
133 Action := GetActionItem(ActionList, s);
134 if Action <> nil then begin
135 ToolButton := TToolButton.Create(ToolBar);
136 ToolButton.Action := Action;
137 ToolButton.Left := 10000;
138 SetButtonStyle(Action, ToolButton);
139 ToolBar.InsertControl(ToolButton);
151 procedure SaveToolBarSetting(ToolBar: TToolBar);
155 Action: TBasicAction;
157 ini := TMemIniFile.Create(GikoSys.GetConfigDir + INI_FILENAME);
160 ini.EraseSection(ToolBar.Name);
161 for i := 0 to ToolBar.ButtonCount - 1 do begin
162 if ToolBar.Buttons[i].Style = tbsSeparator then begin
163 ini.WriteString(ToolBar.Name, 'Button' + IntToStr(j), '-');
166 Action := ToolBar.Buttons[i].Action;
167 if Action <> nil then
169 ini.WriteString(ToolBar.Name, 'Button' + IntToStr(j), Action.Name);
180 //ActionName
\82ÌAction
\82ð
\95Ô
\82µ
\82Ü
\82·
181 function GetActionItem(ActionList: TActionList; ActionName: string): TCustomAction;
185 for i := 0 to ActionList.ActionCount - 1 do begin
186 if ActionList.Actions[i].Name = ActionName then begin
187 Result := TCustomAction(ActionList.Actions[i]);
194 //
\83c
\81[
\83\8b\83{
\83^
\83\93\82Ì
\83X
\83^
\83C
\83\8b\90Ý
\92è
\82Æ
\83|
\83b
\83v
\83A
\83b
\83v
\90Ý
\92è
195 procedure SetButtonStyle(Action: TCustomAction; Button: TToolButton);
197 if IsCheckStyle(Action) then
198 Button.Style := tbsCheck
199 else if IsDropDownStyle(Action) then
200 Button.Style := tbsDropDown
202 Button.Style := tbsButton;
205 //Action
\82ª
\83`
\83F
\83b
\83N
\83X
\83^
\83C
\83\8b\82Ì
\83A
\83N
\83V
\83\87\83\93\82©
\82Ç
\82¤
\82©
\82ð
\95Ô
\82µ
\82Ü
\82·
206 function IsCheckStyle(Action: TCustomAction): Boolean;
210 for i := 0 to Length(CHECK_STYLE) - 1 do begin
211 if Action.Name = CHECK_STYLE[i] then begin
219 //Action
\82ª
\83h
\83\8d\83b
\83v
\83_
\83E
\83\93\83X
\83^
\83C
\83\8b\82Ì
\83A
\83N
\83V
\83\87\83\93\82©
\82Ç
\82¤
\82©
\82ð
\95Ô
\82µ
\82Ü
\82·
220 function IsDropDownStyle(Action: TCustomAction): Boolean;
224 for i := 0 to Length(DROPDOWN_STYLE) - 1 do begin
225 if Action.Name = DROPDOWN_STYLE[i] then begin