Просмотр исходного кода

计量附件鼠标中轮可滚动。

Chenshilong 8 лет назад
Родитель
Сommit
ea9e037df3
3 измененных файлов с 14 добавлено и 0 удалено
  1. 1 0
      Forms/UpFileFrame.pas
  2. 1 0
      Forms/UpFileManageFrame.dfm
  3. 12 0
      Forms/UpFileManageFrame.pas

+ 1 - 0
Forms/UpFileFrame.pas

@@ -203,6 +203,7 @@ procedure TUpFileView.FrameClick(Sender: TObject);
 begin
   ShowSelected;
   TUpFileManageView(Owner).Selected := Self;
+  TUpFileManageView(Owner).SetFocus;   // 这句使其取得焦点以响应滚动事件
 end;
 
 procedure TUpFileView.RefreshStatus(AStatus: TUpFileStatus);

+ 1 - 0
Forms/UpFileManageFrame.dfm

@@ -10,6 +10,7 @@ object UpFileManageView: TUpFileManageView
   Font.Style = []
   ParentFont = False
   TabOrder = 0
+  OnMouseWheel = FrameMouseWheel
   object pnlHead: TPanel
     Left = 0
     Top = 0

+ 12 - 0
Forms/UpFileManageFrame.pas

@@ -57,6 +57,8 @@ type
     procedure btnDownClick(Sender: TObject);
     procedure miLocalUpClick(Sender: TObject);
     procedure miServerUpClick(Sender: TObject);
+    procedure FrameMouseWheel(Sender: TObject; Shift: TShiftState;
+      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
   private
     FDetailIsEdit: Boolean;
     FSelected: TUpFileView;
@@ -520,4 +522,14 @@ begin
 
 end;
 
+procedure TUpFileManageView.FrameMouseWheel(Sender: TObject;
+  Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
+  var Handled: Boolean);
+begin
+  if WheelDelta < 0 then
+    sbFile.Perform(WM_VSCROLL, SB_LINEDOWN, 0)
+  else
+    sbFile.Perform(WM_VSCROLL, SB_LINEUP, 0);
+end;
+
 end.