鼠标拖曳图像


【实例说明】
    在程序运行时,要动态改变图像的位置有几种方法。本例讲解的是用鼠标拖曳图像的方法改变图像的位置。运行程序,单击窗体上的图片并拖曳鼠标,图像将随鼠标移动,并且窗体上显示图片的当前位置坐标。

【编程思路】
    在鼠标按下时,运用Drag方法来实现拖曳图像的功能。下面是Drag的语法及参数:
    语法:object.Drag action。
    参数:action常数或数值,可选的。
          0:取消拖动操作;
          1:开始拖动object;
          2:结束拖放object。

【设计步骤】
    1.新建一个标准工程,创建一个新窗体,默认名为Form1。
    2.在窗体上放置一个CommandButton控件、一个Image控件(加载图片)和一个Label控件。

    3.源程序  [素材源程序下载]


Dim x1 As Single
Dim y1 As Single
'开始拖动
Const begin_drag = 1

'退出
Private Sub Command1_Click()
        Unload Me
End Sub

'初始化
Private Sub Form_Activate()
        Label1.Caption = "图片当前位置:(" & Image1.Left & "," & Image1.Top & ")"
End Sub

'拖动鼠标
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
        Image1.Move (X - x1), (Y - y1)
End Sub

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        x1 = X
        y1 = Y
        '开始拖动
        Image1.Drag begin_drag
        Label1.Caption = "图片当前位置:(" & Image1.Left & "," & Image1.Top & ")"
End Sub