0735郴州新网租房:vb6中如何拖动控件

来源:百度文库 编辑:杭州交通信息网 时间:2024/03/28 23:12:54
最好附一段代码作样例.谢谢!

网友bryant1976的解决方法是:
设置picture1的dragmode为0(手动),并定义两个变量用于开始拖动时的鼠标位置:
Dim cx as Long, cy as Long
在picture1的mousedown事件中记录当前鼠标位置并开始拖动:
Picture1.Drag 1
cx = X
cy = Y
在其mouseup事件中结束拖动:
Picture1.Drag 2
在FORM的dragdrop事件中移动控件:
Source.Move X-cx, Y-cy

本人实现此功能代码:
Option Explicit
Dim cX As Long
Dim cY As Long

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move X - cX, Y - cY
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Drag 1
cX = X: cY = Y
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Drag 2
End Sub

Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture2.Drag 1
cX = X: cY = Y
End Sub

Private Sub Picture2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture2.Drag 2
End Sub

直接在左边空间箱点一下,在窗体里拉出来就行拉?