VB执行程序以后用鼠标移动控件

来源:百度知道 编辑:UC知道 时间:2024/05/20 09:34:37
有一个容器picture1,里面还有一个picture2

要求是在程序启动以后 按住PICture2拖动,picture1的位置进行变换

只允许上下移动,就是左右拖动位置不动,只有上下拖动位置才进行变换

注意是拖动pic2,pic1进行移动,pic2与pic1的相对位置永远不变
蛋壳外的世界 你的代码执行的不是很完没啊 有拉瓶现象,没有别的方法么?

嗯 这个方法我解决了 把pic2放在外面就行了 移动的时候把pic2进行相对应的移动就可以了

现在就是有个问题 你的代码 一点击pic2的时候 鼠标指针就自动到了pic2的顶端,能不能让他位置不变?

Dim Pr As Boolean

Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Pr = True
End Sub
Private Sub Picture2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Pr = False
End Sub
Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim TempX, TempY As Long
If Pr = True Then '鼠标是否按下
Picture1.Top = Picture2.Top + Y
End If
End Sub

有点闪和定位不准,可能是Picture2.Top Y的单位不匹配,你再查查,或者是需要读取鼠标相对于form的坐标,这个我还不知道!
==================
Dim Pr As Boolean
Dim TempX, TempY As Long
Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Pr = True
End Sub

Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
TempX = X
TempY = Y
End Sub

Private Sub