新建一个image控件数组:成员 image1(0) image1(1) .picture属性任选两张图片代码如下:
Private Sub Image1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
II = Index
If Button = vbLeftButton Then
Image1(II).Move Image1(II).Left + X - tx - 400, Image1(II).Top + Y - ty - 200 End If
End Sub当任意移动一个成员时,会与另一个成员重叠,如何防止重叠,(或发出提示并返回到原来坐标位置)请高手指教.
Private Sub Image1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
II = Index
If Button = vbLeftButton Then
Image1(II).Move Image1(II).Left + X - tx - 400, Image1(II).Top + Y - ty - 200 End If
End Sub当任意移动一个成员时,会与另一个成员重叠,如何防止重叠,(或发出提示并返回到原来坐标位置)请高手指教.
解决方案 »
- 是关于excel的使用技巧,使某一单元格A3上的值(此数值是由公式算出)最小为3,当另外一个单元格B5的值>=80的时候,请将A3最小值变为4,还有。。。
- 我点击窗体上的最小化按钮后,VB6能产生一个什么样的值与之对应吗?我想在我的程序里用这个值。
- access +ado 我错了!(初学者)
- 请教MDAC_TYP.EXE问题
- 能否对MSFLEXGRID的某一行设置不同于其它行的高度?语句————
- vb打印
- 急!!自定义OCX控件的求教!!
- 请问怎样把数据库中的二进制字段,写成文件。
- 求助:请问如何用VB接收一个文本文件中的数据到SQL-SERVER 7.0中来,其中文本文件是可选的.---VB初学者:晓玉
- help!!!如何修改返回记录集字段???
- 请问用VB6编译出的程序能否在Vista里运行?
- datagrid清空内容(保留表头)
大体代码:
DIM X(1) AS LONG
DIM Y(1) AS LONG
DIM HEI AS LONG
DIM WID AS LONG
DIM I AS LONG
FOR I =0 TO 1 '这里先获取两个控件的中心坐标
X(0)=IMAGE1(I).LEFT + IMAGE1(I).WIDTH/2
Y(0)=IMAGE1(I).TOP + IMAGE1(I).HEIGHT/2
NEXT
WID=(IMAGE1(0).WIDTH + IMAGE1(1).WIDTH)/2
HEI=(IMAGE1(0).HEIGHT + IMAGE1(1).HEIGHT)/2
'然后判断:
IF ABS(X(0)-X(1))< WID AND ABS(Y(0)-Y(1))<HEI THEN MSGBOX"撞车啦"这段代码是随手写的,楼主自己调试.能看明白意思就最好了,自己改就是了.
其实只要拿张纸,自己动手画个图,随便比划比较,这种"算法"也就呼之欲出了.