在课件交互中,拖放操作一直是FLASH的优势,很长时间自己也没有实现,今天在网上看到一个教程,结合PPT控件工具中的图片控件和VBA功能,实现起来也并不是太难,下面简单介绍实现方法和过程,具体案例下载地址文后。

实现方法和原理:图片拖放操作分三个过程,在图片上按下鼠标(相当于Mouse_down)-移动鼠标(Mouse_move)和松开鼠标(Mouse_up),只要能计算出图片在这个三个过程中的相对位置即可。

实现过程:

1,插入图片(这个不能用插入图片的方法,而是通过图片控件(image控件)的方法,如下图:

2,双击图像控件,输入以下代码:

 Dim X1, Y1 As Integer '用来记录位置
Dim Down As Boolean '用来判断拖放状态

Dim X2, Y2 As Integer
Dim Down2 As Boolean

'——————————————————————————
Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'按下并记录位置
If Not Down Then
    X1 = X
    Y1 = Y
    Down = True
    End If
End Sub
Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'记算移动距离
If Down Then
    Image1.Left = Image1.Left + X - X1
    Image1.Top = Image1.Top + Y - Y1
    X1 = X
    Y1 = Y
    End If
End Sub
Private Sub Image1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'改变移动状态并显示移动后的图片
Down = False
    SlideShowWindows(1).View.First
End Sub

继续思考:如何实现图片位置初始化呢?如果你能想出解决办法,你就理解这里的实现原理了。

 下载地址http://dl.vmall.com/c01ugrtzt0