VScrollbar滚动条循环
vb吧
全部回复
仅看楼主
level 1
冰麟轻武 楼主
就是在最左边的时候点左 就变到最右边....呵呵 没用过 不知道有没有这个属性,可以允许循环因为我刚刚发现在最左边的时候点击左 不出发change事件不至于做一个keydown吧//
2007年11月21日 07点11分 1
level 7
没有发现过这个属性
2007年11月21日 13点11分 2
level 1
冰麟轻武 楼主
有没有方法可以实现这个功能?
2007年11月21日 13点11分 3
level 7
我只有这个办法Private Sub Form_Load()HScroll1.Max = 100HScroll1.Min = 0Timer1.Interval = 20End SubPrivate Sub Timer1_Timer()HScroll1.Value = HScroll1.Value + 1If HScroll1.Value = 100 Then HScroll1.Value = 0End IfEnd Sub
2007年11月21日 13点11分 4
level 10
Private Sub VScroll1_Change() If VScroll1.Value = VScroll1.Max Then VScroll1.Value = VScroll1.MinEnd Sub
2007年11月21日 14点11分 5
level 1
冰麟轻武 楼主
Private Sub VScroll1_Change() If VScroll1.Value = VScroll1.Max Then VScroll1.Value = VScroll1.Min End Sub 老大,你可以先试一下不你这样做没用,因为我说了max的时候点击没有变化,所以不触发Change事件
2007年11月21日 14点11分 6
level 10
ls小老大 你运行了再来发言
2007年11月21日 14点11分 7
level 1
冰麟轻武 楼主
难道我们的版本号不一样?
2007年11月21日 14点11分 8
level 10
估计你添加的是HScroll1
2007年11月21日 14点11分 9
level 1
冰麟轻武 楼主
那你的意思就是说 我不能选择max属性一到MAX 马上就变成min了但是我的意思是循环除了从最前到最后之外还有从最后到最前....也就是说我的第一个和最后一个都不能选择了要是跟你一样这样写的化直接死掉程序...
2007年11月21日 14点11分 10
level 1
冰麟轻武 楼主
原本是1~3的必须画成 0~5然后If VScroll1.Value = VScroll1.Max ThenVScroll1.Value = VScroll1.Min + 1ElseIf VScroll1.Value = VScroll1.Min ThenVScroll1.Value = VScroll1.Max - 1End If
2007年11月21日 14点11分 11
level 1
冰麟轻武 楼主
错,是0~4
2007年11月21日 14点11分 12
level 2
支个损着:假设MAX为100,在值为99的时候就拦截了,最小值从MIN 1开始,然后分别用代码处理增1减1.靠的是人眼的误差
2007年11月21日 15点11分 15
level 1
冰麟轻武 楼主
原本是1~3的必须画成 0~4 然后 If VScroll1.Value = VScroll1.Max Then VScroll1.Value = VScroll1.Min + 1 ElseIf VScroll1.Value = VScroll1.Min Then VScroll1.Value = VScroll1.Max - 1 End If 就是我说的这个.但是我的MAX最多不会超过10人眼的误差是不可能的说简单一点还不如来个keydown的过程呢?
2007年11月21日 15点11分 16
level 10
自己写个把 那控件太难看了没有mouse事件没法做到 这垃圾控件做个hook不值得
2007年11月21日 15点11分 17
level 1
冰麟轻武 楼主
能说一下hook是什么意思,经常看到因为英文不好加上VB是自学的我一开始都知道label但是一直不知道label原来是标签的意思
2007年11月21日 15点11分 18
level 2
在达到最大/小值的时候处理mousedown/up再用鼠标坐标确定位置.你能看明白吗?
2007年11月21日 15点11分 19
level 1
冰麟轻武 楼主
关系鼠标什么事了....
2007年11月21日 15点11分 20
level 1
冰麟轻武 楼主
我懂你的意思了....
2007年11月21日 15点11分 21
level 1
在设定MAX时,要加1:即HScroll1.Max = 值 + 1在设定Min时,要减1:如果记数从开始,则为0以上设置的目的是为了触发change事件'-------------事件过程--------------------------------Private Sub HScroll1_Change()'On Error Resume NextIf HScroll1.Value = HScroll1.Max Then HScroll1.Value = 1If HScroll1.Value = 0 Then HScroll1.Value = HScroll1.Max - 1End SubVB6测试通过,可以前后循环。
2008年03月07日 04点03分 22
1 2 尾页