在ppt幻灯片实现任意拖放图片效果的方法
在PPT课件交互中,拖放操作一直是FLASH的优势,结合PPT控件工具中的图片控件和VBA功能,实现起来也并不是太难,下面简单介绍下在PPT中实现任意拖放图片效果的方法,具体案例下载地址文后。
实现方法和原理:图片拖放操作分三个过程,在图片上按下鼠标(相当于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://pan.baidu/share/link?shareid=2410435248&uk=1493671735