如何让滚动条(tscrollbar)跟着鼠标移上,移下呢....让滚动块跟着鼠标上下移动....

解决方案 »

  1.   

    在控件的OnMouseMove事件里加上:
    SendMessage(scrollbar1.Handle, WM_VSCROLL, SB_LINEDOWN, 0);//向下滚
    SendMessage(scrollbar1.Handle, WM_VSCROLL, SB_LINEUP, 0);//向上滚
    SendMessage(scrollbar1.Handle, WM_HSCROLL, SB_LINEDOWN, 0);//向右滚
    SendMessage(scrollbar1.Handle, WM_HSCROLL, SB_LINEUP, 0);//向左滚基本是这样,至于在什么条件下滚动,你自己看着办吧,这个不用教了吧。
      

  2.   

    这个要拦截消息,,贴段代码自己看看把,,function DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; override;procedure TForm1.FormCreate(Sender: TObject);
    begin
      APplication.OnMessage:=OnMouseWheel; // 截获鼠标滚动事件
    end;procedure TForm1.OnMouseWheel(var Msg: TMsg; var Handled: Boolean);
    begin
      if Msg.message = WM_MouseWheel then
      begin
        if Msg.wParam  < 0 then
         begin
           数据集向下移动一拦
         end
        else
         begin
           数据集向上移动一拦
         end;
        Handled:= True;
      end;end;