WEB开发网
开发学院软件开发C语言 C#中用鼠标移动页面功能的实现 阅读

C#中用鼠标移动页面功能的实现

 2009-06-02 08:30:58 来源:WEB开发网   
核心提示: 简单说明一下吧:SetScrollPos:设置所指定滚动条中的滚动按钮的位置GetScrollPos:获取指定滚动条的滚动按钮的位置GetScrollRange:获取指定滚动条的滚动按钮的位置最大最小值PostMessage:这个函数是关键中的关键,它负责向Windows控件发送相应的消息

简单说明一下吧:

SetScrollPos:设置所指定滚动条中的滚动按钮的位置

GetScrollPos:获取指定滚动条的滚动按钮的位置

GetScrollRange:获取指定滚动条的滚动按钮的位置最大最小值

PostMessage:这个函数是关键中的关键,它负责向Windows控件发送相应的消息,以真正执行相应的操作。一些网友实现了滚动条中滑块位置的移动,但却没有引起控件中内容的移动,其原因就是因为没有调用这个函数,没有把移动内容的消息发送给控件。

SB_HORZ :代表水平滚动条

SB_VERT :代表垂直滚动条

WM_HSCROLL :代表水平滚动事件

WM_VSCROLL :代表垂直滚动事件

SB_THUMBPOSITION :至于这个常量,其含义我也不是很清楚,有知道的朋友欢迎回复给我。

好了,准备工作做好了,就可以开工了。

先声明几个变量:

       bool Preview_move = false;//是否按下鼠标,表示处理移动状态。
       Point MoveStart;//移动开始时,鼠标的坐标点
       Point MoveEnd;//移动过程中鼠标的坐标点

在控件的MouseDown事件中,当鼠标按下时开始移动页面,并记下起始坐标点:

       private void previewer_MouseDown(object sender, MouseEventArgs e)
       {
           Preview_move = true;
           MoveStart = e.Location;
       }

在控件的MouseUp事件中,记得当鼠标放开后要置回非移动状态:

       private void previewer_MouseUp(object sender, MouseEventArgs e)
       {
           Preview_move = false;
       }

Tags:中用 鼠标 移动

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接