報表裡 怎麼不能用鼠標滾輪實現下下移動呢...
--有什麼法子呢?

解决方案 »

  1.   

    WM_MOUSEWHEEL     -----procedure DoMouseWheel(var Msg: TMsg; var Handled: Boolean);
        begin
        end;application.Onmessage:=DoMouseWheel;帮你GG了一下:从quickrep类继承并创建自己的组件,在组件中添加如下事件:
    procedure TWheelDBGrid.WndProc(var Msg: TMessage);
    var
      MousePoint:TPoint;
      Handled:Boolean;
      shift:TShiftState;
    begin
      if(Msg.Msg=WM_MOUSEWHEEL) then //捕获鼠标轮事件
      begin
        Handled:=false;
        if(Msg.wParam>0) then //上滚
        begin
          if not DataSource.DataSet.Bof then
          begin
            PostMessage(Self.Handle, WM_KEYUP, VK_UP, 0);
            DataSource.DataSet.Prior;
          end
        end
        else                  //下滚
        begin
          if not DataSource.DataSet.Eof then
          begin
            PostMessage(Self.Handle, WM_KEYUP, VK_DOWN, 0);
            DataSource.DataSet.Next;
          end;
        end;
        if Handled then
          exit;
      end else
      inherited;
    end;