如何在VB程序运行后,将一个命令钮任意拖到某个位置
--------------
[解决办法]
设置Command1的dragmode为0(手动),并定义两个变量用于开始拖动时的鼠标位置:
Dim cx as Long, cy as Long
在Command1的mousedown事件中记录当前鼠标位置并开始拖动:
Command1.Drag 1
cx = X
cy = Y
之所以将Command1的DragMode改为手动,是因为在自动模式下是不会触发Command1的MouseDown事件的,当然也就无法记录原始的鼠标位置了。
代码如下:
Option Explicit
Dim cx As Long, cy As Long
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Command1.Drag 1
cx = X
cy = Y
End Sub
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move X - cx, Y - cy
End Sub