
VB拖放事件的使用方法
1个回答
展开全部
SINA网友bryant1976给出的解决方法是:设置picture1的dragmode为0(手动),并定义两个变量用于开始拖动时的鼠标位置,代码如下:
Dim cx as Long, 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
之所以将Picture1的DragMode改为手动,是因为在自动模式下是不会触发Picture1的MouseDown事件的,当然也就无法记录原始的鼠标位置了。
Dim cx as Long, 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
之所以将Picture1的DragMode改为手动,是因为在自动模式下是不会触发Picture1的MouseDown事件的,当然也就无法记录原始的鼠标位置了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询