diff --git a/src/ce_miniexplorer.lfm b/src/ce_miniexplorer.lfm index 9552e131..f18d21a0 100644 --- a/src/ce_miniexplorer.lfm +++ b/src/ce_miniexplorer.lfm @@ -46,6 +46,7 @@ inherited CEMiniExplorerWidget: TCEMiniExplorerWidget Top = 131 Width = 527 Align = alTop + OnMouseWheel = Splitter2MouseWheel ResizeAnchor = akTop end object Panel2: TPanel[2] @@ -66,6 +67,7 @@ inherited CEMiniExplorerWidget: TCEMiniExplorerWidget Top = 218 Width = 527 Align = alTop + OnMouseWheel = Splitter2MouseWheel ResizeAnchor = akTop end object treeFolders: TShellTreeView diff --git a/src/ce_miniexplorer.pas b/src/ce_miniexplorer.pas index 01c1b7b7..0f0b4ad3 100644 --- a/src/ce_miniexplorer.pas +++ b/src/ce_miniexplorer.pas @@ -9,7 +9,7 @@ uses Controls, Graphics, ExtCtrls, Menus, ComCtrls, Buttons, lcltype, dialogs, ce_widget, ce_sharedres, ce_common, ce_interfaces, ce_observer, ce_writableComponent, ce_dubproject, ce_ceproject, EditBtn, ShellCtrls, - ce_dialogs, ce_synmemo, ce_projutils, ce_dsgncontrols, ce_stringrange; + ce_dialogs, ce_synmemo, ce_projutils, ce_dsgncontrols, ce_stringrange, Types; type @@ -95,6 +95,8 @@ type procedure lstFilesFileAdded(Sender: TObject; Item: TListItem); procedure lstFilterButtonClick(Sender: TObject); procedure lstFilterKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); + procedure Splitter2MouseWheel(Sender: TObject; Shift: TShiftState; + WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); procedure toolbarResize(Sender: TObject); procedure TreeEnter(Sender: TObject); procedure treeFoldersChange(Sender: TObject; Node: TTreeNode); @@ -740,6 +742,23 @@ begin filterFiles; end; +procedure TCEMiniExplorerWidget.Splitter2MouseWheel(Sender: TObject; + Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; + var Handled: Boolean); +var + offs: integer; + splt: TSplitter; +begin + offs := -240 * 8 div WheelDelta; + splt := TSplitter(sender); + splt.MoveSplitter(offs); + if splt.ResizeAnchor in [akLeft, akRight] then + Mouse.CursorPos:= classes.Point(Mouse.CursorPos.X + offs, Mouse.CursorPos.Y) + else + Mouse.CursorPos:= classes.Point(Mouse.CursorPos.X, Mouse.CursorPos.Y + offs); + Handled := true; +end; + procedure TCEMiniExplorerWidget.toolbarResize(Sender: TObject); begin lstFilter.Width := toolbar.Width - lstFilter.Left - lstFilter.BorderSpacing.Around;