vb 在一定范围内移动控件
觉得Vscrollbar有点难看(不要推荐用**控件,谢谢!),就用了几个picturebox来替代.以pic来作为拖动条为例.我用了如下方法:在Pic_mousemov...
觉得Vscrollbar有点难看(不要推荐用**控件,谢谢!),就用了几个picturebox来替代.以pic来作为拖动条为例.我用了如下方法:
在Pic_mousemove下
if CanMove=true then'在mousedown下使CanMove=true
if pic.top>=100 then'想使pic.top不低于100
pic.top=pic.top+Y-OldY'移动pic,OldY为mousedown下记录的Y值
else
pic.top=100
Canmove=false
end if
end if
我的问题:
1.这种方法拖得慢行,但是要拖得快,pic会瞬间TOP<100,然后再TOP=100,不像Vscrollbar那样始终不会出两头.
2.当pic已经到边了,再想拖回来就必须松开鼠标再来一次mousemove才能拖动(因当pic.top=100时,我令Canmove=false).
不知我讲得是不是清楚,可能是移动方式或控制不出范围的语句不好, 麻烦高手们指点指点.
在网上看了几种方法不是太理想,麻烦调试好了在回,在此谢谢了!
补充:if pic.top>=100 应为if pic.top+Y-OldY>=100 展开
在Pic_mousemove下
if CanMove=true then'在mousedown下使CanMove=true
if pic.top>=100 then'想使pic.top不低于100
pic.top=pic.top+Y-OldY'移动pic,OldY为mousedown下记录的Y值
else
pic.top=100
Canmove=false
end if
end if
我的问题:
1.这种方法拖得慢行,但是要拖得快,pic会瞬间TOP<100,然后再TOP=100,不像Vscrollbar那样始终不会出两头.
2.当pic已经到边了,再想拖回来就必须松开鼠标再来一次mousemove才能拖动(因当pic.top=100时,我令Canmove=false).
不知我讲得是不是清楚,可能是移动方式或控制不出范围的语句不好, 麻烦高手们指点指点.
在网上看了几种方法不是太理想,麻烦调试好了在回,在此谢谢了!
补充:if pic.top>=100 应为if pic.top+Y-OldY>=100 展开
3个回答
展开全部
我以前回答过一个相似的问题 就是让控件跟这鼠标移动 不知对你有用没
http://zhidao.baidu.com/question/60142324.html
http://zhidao.baidu.com/question/60142324.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在移动的时候用API锁住鼠标移动范围i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询