有一个过程MoveControl(objControl as Control,x as single,y as single),实现控件从当前位置逐渐的移动到x,y坐标处(像走过去一样).现在的问题是当调用多个MoveControl 过程的时候,控件的移动不是同时的,就是说第二个MoveControl执行之前要等第一个MoveControl过程执行结束.求同步移动方法与思路
注:把所有要移动的控件放在一个容器,然后移动容器这样的方法就不用说了.还有用多个时钟控件实现同时移动也不用说了(因为需要移动的控件数量是变化的,用时钟控件太麻烦) 谢谢!.
注:把所有要移动的控件放在一个容器,然后移动容器这样的方法就不用说了.还有用多个时钟控件实现同时移动也不用说了(因为需要移动的控件数量是变化的,用时钟控件太麻烦) 谢谢!.
解决方案 »
- 类模块里添加match类型出错,用户定义类型未定义(高手Help)?
- 【叶帆控件】一个控件几行代码实现换肤(可支持菜单)
- 关于EXCEL的问题!!help me
- 如何在VB里使用汇编语言?
- 请问大家如何用一个控件和一个按钮把一个自己想要的文件夹显示在那个控件里???
- 关于RS232传输的问题,市面上总找不到相关书籍
- 连接SQL服务器最快的方法是什么?
- 大家好,我初学VB,帮帮我看代码哪出问题了
- 我用mapi控件发邮件,顺序如下,虽然发送成功了,但是同时将邮件放入了我的收件箱里,我不想收件箱产生邮件,该如何做?
- 谁能给些好的学习VB网站?
- 关于winsock控件的问题
- VB已死.delphi还没死透,c/c++/vc都活的好好的
更改为:
外循环10步,内循环所有的控件,每次每个控件只走1步。
for x=0 to 3000
For Each Item In Controls
MoveControl Item,x,y
next
next至于控件来源,移动过程这些内容LZ也没说清楚,我也只能给个大概的参考了
for x=0 to 3000
For Each Item In Controls
MoveControl Item,Item.Left+1,y
next
next然后容器用API应该是可以设置成透明的。
MoveControl(btn2,30,10)
MoveControl(btn3,60,30)
MoveControl(btn4,90,30)
要是这样能同时移,就灵活了.可惜不行.
因为图片多的话图片框可以重用的,移出视线之外看不见的图片可以加载新图重用,
一般最少图片控件的用量应该是总的可见图片数+1for i=0 to 3000 step 15'一次移过一屏,步长15缇
for j=picture1.Lubound to picture1.Ubound
if picturue1(j).left+picture1(j).width>0 then
picture1(j).left=picturue1(j).left - 15 '一次移动一个像素,反正像素和缇是1:15
else
picture1(j).left=5000'举个例子,不可见的图片框可以丢到最右边去准新一次的移动。
picture1(j).picture=loadpicture(xxxxxxxx)
end if
next
doevents'为了让移动的时候能显示出来
next因为要实现一个动画效果,所以加个doevents在里边,这样的话图片移动的时候就能及时反映在窗口中
加在第二个循环体上的原因是这样子看到的图片移动更有整体性一些.
另外doevents可能会带来事件重入的问题,其实用时钟控件更好些,而且可以控制动画效果的快慢。实现的难度来说其实是差不多的,只不过控制上的感觉过程式的代码来得更直观些。
既然移动距离是一样的,很容易改的。
只要能同步运行MoveControl过程,这样更灵活.
MoveControl(btn1,10,10)
MoveControl(btn2,30,10)
MoveControl(btn3,60,30)
MoveControl(btn4,90,30)
现在这四个移动,只能一个一个移动.
dim Item as Control
for x=0 to 3000
For Each Item In Controls
MoveControl Item,Item.Left+1,y
next
next
bakw 这个方法是可以实现移动,但不太好控制.不够灵活.
图片看不到,但既然是一起滑动,移动距离是一样的吧!2)给出 MoveControl() 的代码!3)4个控件的当前位置在哪里?如何分别求得x和y?
MoveControl(btn1,10,10)
MoveControl(btn2,30,10)
MoveControl(btn3,60,30)
MoveControl(btn4,90,30)
给bakw10分,剩下40都给你Chen8013(舉杯邀明月).
现在点这个链接,变成别人的东西了。