From aca59a3b6e055f348538f16306dcfa6f4810b2b9 Mon Sep 17 00:00:00 2001 From: h677 Date: Tue, 2 Nov 2004 15:15:11 +0000 Subject: [PATCH] =?utf8?q?CoolBar=E3=81=AE=E3=83=AA=E3=82=B5=E3=82=A4?= =?utf8?q?=E3=82=BA=E3=82=92=E5=85=83=E3=81=AB=E6=88=BB=E3=81=97=E3=81=A6?= =?utf8?q?=E3=80=81FormDestory=E3=81=A7CoolBar=E3=81=AE=E3=82=B5=E3=82=A4?= =?utf8?q?=E3=82=BA=E3=82=92=E4=BF=9D=E5=AD=98=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Giko.dfm | 16 ++++--- Giko.pas | 147 +++++++++++++++++++++++++++++++++++++++++++++------------------ 2 files changed, 115 insertions(+), 48 deletions(-) diff --git a/Giko.dfm b/Giko.dfm index 86a51e2..dd46712 100644 --- a/Giko.dfm +++ b/Giko.dfm @@ -1,6 +1,6 @@ object GikoForm: TGikoForm - Left = 171 - Top = 68 + Left = 312 + Top = 57 HorzScrollBar.Visible = False VertScrollBar.Visible = False AutoScroll = False @@ -350,9 +350,7 @@ object GikoForm: TGikoForm end> EdgeBorders = [ebLeft, ebTop, ebRight] EdgeInner = esLowered - OnChange = ListCoolBarChange OnContextPopup = ListCoolBarContextPopup - OnResize = ListCoolBarResize OnBandInfo = ListCoolBarBandInfo OnChevronClick = ListCoolBarChevronClick object ListToolBar: TToolBar @@ -372,6 +370,7 @@ object GikoForm: TGikoForm TabOrder = 0 Transparent = True Wrapable = False + OnResize = ListToolBarResize object ViewNoButton: TToolButton Left = 0 Top = 0 @@ -513,6 +512,7 @@ object GikoForm: TGikoForm EdgeBorders = [] TabOrder = 1 Transparent = True + OnResize = ListToolBarResize object FolderImage: TImage Left = 0 Top = 2 @@ -622,9 +622,7 @@ object GikoForm: TGikoForm end> EdgeBorders = [ebLeft, ebTop, ebRight] EdgeInner = esLowered - OnChange = BrowserCoolBarChange OnContextPopup = BrowserCoolBarContextPopup - OnResize = BrowserCoolBarResize OnBandInfo = BrowserCoolBarBandInfo OnChevronClick = BrowserCoolBarChevronClick object BrowserToolBar: TToolBar @@ -644,6 +642,7 @@ object GikoForm: TGikoForm TabOrder = 0 Transparent = True Wrapable = False + OnResize = BrowserToolBarResize object BrowserSizeButton: TToolButton Left = 0 Top = 0 @@ -761,6 +760,7 @@ object GikoForm: TGikoForm EdgeBorders = [] TabOrder = 1 Transparent = True + OnResize = BrowserToolBarResize object ItemBoardImage: TImage Left = 0 Top = 2 @@ -1034,7 +1034,6 @@ object GikoForm: TGikoForm Text = #12522#12531#12463 Width = 814 end> - OnChange = MainCoolBarChange OnContextPopup = MainCoolBarContextPopup OnResize = MainCoolBarResize OnBandInfo = MainCoolBarBandInfo @@ -1056,6 +1055,7 @@ object GikoForm: TGikoForm Transparent = True Wrapable = False OnCustomDrawButton = MenuToolBarCustomDrawButton + OnResize = MenuToolBarResize end object StdToolBar: TToolBar Left = 9 @@ -1075,6 +1075,7 @@ object GikoForm: TGikoForm Transparent = True Visible = False Wrapable = False + OnResize = MenuToolBarResize object RoundToolButton: TToolButton Left = 0 Top = 0 @@ -1188,6 +1189,7 @@ object GikoForm: TGikoForm Wrapable = False OnDragDrop = LinkToolBarDragDrop OnDragOver = LinkToolBarDragOver + OnResize = MenuToolBarResize end end end diff --git a/Giko.pas b/Giko.pas index 77f9387..31b3e06 100644 --- a/Giko.pas +++ b/Giko.pas @@ -919,12 +919,10 @@ type procedure ListViewCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); procedure FormActivate(Sender: TObject); - procedure MainCoolBarChange(Sender: TObject); - procedure BrowserCoolBarChange(Sender: TObject); - procedure ListCoolBarChange(Sender: TObject); - procedure BrowserCoolBarResize(Sender: TObject); - procedure ListCoolBarResize(Sender: TObject); procedure BrowserPanelResize(Sender: TObject); + procedure MenuToolBarResize(Sender: TObject); + procedure ListToolBarResize(Sender: TObject); + procedure BrowserToolBarResize(Sender: TObject); private { Private éŒ¾ } //RoundList : TRoundList; @@ -1159,6 +1157,9 @@ type procedure ActiveListColumnSave; procedure SetActiveList(Obj: TObject); property ActiveList: TObject read GetActiveList write SetActiveList; + /// CoolBar ‚ªƒTƒCƒY•ÏX‚³‚ꂽ + procedure CoolBarResized(Sender: TObject; CoolBar: TCoolBar); + published property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton; end; @@ -1937,7 +1938,6 @@ begin //—\’è’n //TestŒü‚¯ end; - FStartUp := false; end; end; @@ -2015,12 +2015,12 @@ begin // ƒŠƒAƒ‹ƒ^ƒCƒ€‚É•Û‘¶‚³‚ê‚é‚̂ŁA‚Ü‚½AƒEƒBƒ“ƒhƒEƒTƒCƒY‚ª CoolBar ‚æ‚è // ¬‚³‚­‚È‚Á‚Ä‚¢‚é‚Æ‚«‚É•Û‘¶‚·‚é‚Æ’l‚ªã‘‚«‚³‚ê‚Ä‚µ‚Ü‚¤‚Ì‚Å‚±‚±‚Å‚Í•Û‘¶‚µ‚È‚¢ - { + // ªFormDestroy’†‚Ɉړ®‚µ‚½‚̂ŁA‚±‚±‚Å•Û‘¶‚µ‚È‚¢‚Æ‚¢‚¯‚È‚¢‚ÆŽv‚¤Bi‚à‚¶‚ã@2004/04/09j // CoolBar •Û‘¶ - if GikoForm.WindowState <> wsMinimized then + //if (GikoForm.WindowState <> wsMinimized) and (GikoForm.WindowState <> wsMaximized) then SaveCoolBarSettings; - } + try GikoSys.Setting.WriteWindowSettingFile; GikoSys.Setting.WriteNameMailSettingFile; @@ -5638,8 +5638,8 @@ begin end; end; -// FIsIgnoreResize := rtResizing; -// PostMessage( Handle, USER_RESIZED, 0, 0 ); + FIsIgnoreResize := rtResizing; + PostMessage( Handle, USER_RESIZED, 0, 0 ); end; @@ -7506,10 +7506,6 @@ end; procedure TGikoForm.MainCoolBarResize(Sender: TObject); begin TopPanel.Height := Max(MainCoolBar.Height, AnimePanel.Height); - if not FStartUp then begin -// SaveCoolBarSettings; - SaveMainCoolBarSettings; - end; end; @@ -7741,7 +7737,7 @@ end; procedure TGikoForm.AddressToolBarResize(Sender: TObject); begin AddressComboBox.Width := AddressToolBar.Width - MoveToToolButton.Width - 10; - //CoolBarResized( Sender, MainCoolBar ); + CoolBarResized( Sender, MainCoolBar ); end; procedure TGikoForm.AddressComboBoxKeyDown(Sender: TObject; var Key: Word; @@ -10611,6 +10607,7 @@ end; procedure TGikoForm.BrowserTabResize(Sender: TObject); begin + CoolBarResized( Sender, BrowserCoolBar ); end; // ************************************************************************* @@ -11889,47 +11886,115 @@ begin end; end; -procedure TGikoForm.MainCoolBarChange(Sender: TObject); +procedure TGikoForm.BrowserPanelResize(Sender: TObject); begin - if not FStartUp then begin - SaveMainCoolBarSettings; + if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin + MoveWindow(FActiveContent.Browser.Handle, 0, 0, BrowserPanel.ClientWidth, BrowserPanel.ClientHeight, false); end; -end; -procedure TGikoForm.BrowserCoolBarChange(Sender: TObject); -begin - SaveBrowserCoolBarSettings; end; - -procedure TGikoForm.ListCoolBarChange(Sender: TObject); +procedure TGikoForm.CoolBarResized(Sender: TObject; CoolBar: TCoolBar); +var + coolSet : TCoolSet; + toolbar : TToolBar; + band : TCoolBand; + affectedBand : TCoolBand; + i : Integer; begin - SaveBoardCoolBarSettings; + if (FOldFormWidth = Width) and not IsIconic( Handle ) and (FIsIgnoreResize = rtNone) then begin + FIsIgnoreResize := rtResizing; + PostMessage( Handle, USER_RESIZED, 0, 0 ); + band := nil; + // •ÏX‚³‚ꂽƒN[ƒ‹ƒo[‚Ì’l‚ð•Û‘¶ + if CoolBar = MainCoolBar then begin + for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin + CoolSet.FCoolID := CoolBar.Bands[i].ID; + CoolSet.FCoolWidth := CoolBar.Bands[i].Width; + CoolSet.FCoolBreak := CoolBar.Bands[i].Break; + GikoSys.Setting.MainCoolSet[i] := CoolSet; + end; + end else if CoolBar = ListCoolBar then begin + for i := 0 to LIST_COOLBAND_COUNT - 1 do begin + CoolSet.FCoolID := CoolBar.Bands[i].ID; + CoolSet.FCoolWidth := CoolBar.Bands[i].Width; + CoolSet.FCoolBreak := CoolBar.Bands[i].Break; + GikoSys.Setting.ListCoolSet[i] := CoolSet; + end; + end else if CoolBar = BrowserCoolBar then begin + for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin + CoolSet.FCoolID := CoolBar.Bands[i].ID; + CoolSet.FCoolWidth := CoolBar.Bands[i].Width; + CoolSet.FCoolBreak := CoolBar.Bands[i].Break; + GikoSys.Setting.BrowserCoolSet[i] := CoolSet; + end; + end; + if not (Sender is TToolBar) or (CoolBar = nil) then + Exit; + toolbar := TToolBar( Sender ); + // •‚̕ύX‚³‚ꂽƒoƒ“ƒh‚ðŒ©‚Â‚¯‚é + affectedBand := nil; + for i := CoolBar.Bands.Count - 1 downto 0 do begin + if CoolBar.Bands[ i ].Control.Handle = toolbar.Handle then begin + band := CoolBar.Bands[ i ]; + if band.Break or (i = 0) then begin + if i + 1 < CoolBar.Bands.Count then + if not CoolBar.Bands[ i + 1 ].Break then + affectedBand := CoolBar.Bands[ i + 1 ]; + end else begin + if i > 0 then + affectedBand := CoolBar.Bands[ i - 1 ]; + end; + Break; + end; + end; + // ƒhƒ‰ƒbƒO’†‚Í band.Width ‚ªXV‚³‚ê‚È‚¢‚̂ŁA“à‘¤‚̃TƒCƒY‚©‚ç‚Ђ˂èo‚· + if CoolBar = MainCoolBar then begin + coolSet := GikoSys.Setting.MainCoolSet[ band.ID ]; + coolSet.FCoolWidth := toolbar.Width + 25; + GikoSys.Setting.MainCoolSet[ band.ID ] := coolSet; + if affectedBand <> nil then begin + coolSet := GikoSys.Setting.MainCoolSet[ affectedBand.ID ]; + coolSet.FCoolWidth := affectedBand.Control.Width + 25; + GikoSys.Setting.MainCoolSet[ affectedBand.ID ] := coolSet; + end; + end else if CoolBar = ListCoolBar then begin + coolSet := GikoSys.Setting.ListCoolSet[ band.ID ]; + coolSet.FCoolWidth := toolbar.Width + 25; + GikoSys.Setting.ListCoolSet[ band.ID ] := coolSet; + if affectedBand <> nil then begin + coolSet := GikoSys.Setting.ListCoolSet[ affectedBand.ID ]; + coolSet.FCoolWidth := affectedBand.Control.Width + 25; + GikoSys.Setting.ListCoolSet[ affectedBand.ID ] := coolSet; + end; + end else if CoolBar = BrowserCoolBar then begin + coolSet := GikoSYs.Setting.BrowserCoolSet[ band.ID ]; + coolSet.FCoolWidth := toolbar.Width + 25; + GikoSys.Setting.BrowserCoolSet[ band.ID ] := coolSet; + if affectedBand <> nil then begin + coolSet := GikoSys.Setting.BrowserCoolSet[ affectedBand.ID ]; + coolSet.FCoolWidth := affectedBand.Control.Width + 25; + GikoSys.Setting.BrowserCoolSet[ affectedBand.ID ] := coolSet; + end; + end; + end; end; -procedure TGikoForm.BrowserCoolBarResize(Sender: TObject); + +procedure TGikoForm.MenuToolBarResize(Sender: TObject); begin - if not FStartUp then begin - SaveBrowserCoolBarSettings; - end; + CoolBarResized( Sender, MainCoolBar ); end; -procedure TGikoForm.ListCoolBarResize(Sender: TObject); +procedure TGikoForm.ListToolBarResize(Sender: TObject); begin - if not FStartUp then begin - SaveBoardCoolBarSettings; - end; - + CoolBarResized( Sender, ListCoolBar ); end; -procedure TGikoForm.BrowserPanelResize(Sender: TObject); +procedure TGikoForm.BrowserToolBarResize(Sender: TObject); begin - if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin - MoveWindow(FActiveContent.Browser.Handle, 0, 0, BrowserPanel.ClientWidth, BrowserPanel.ClientHeight, false); - end; - + CoolBarResized( Sender, BrowserCoolBar ); end; - initialization OleInitialize(nil); finalization -- 2.11.0