C#中用鼠标移动页面功能的实现
2009-06-02 08:30:58 来源:WEB开发网简单说明一下吧:
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;
}
更多精彩
赞助商链接