您当前的位置: 首页 > 

dawn

暂无认证

  • 7浏览

    0关注

    204博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

幻灯片里的定时器

dawn 发布时间:2012-12-29 02:18:52 ,浏览量:7

  在幻灯片里有时候会用到定时器,比如我们需要定时执行一些特殊任务,如让一幅图片慢慢地消失或者显现,即淡入淡出,虽然通过设置图片的动画可以做到,但是通过程序可以控制得更为理想。   首先,定义API Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Declare Function SetTimer Lib "user32" _                             (ByVal hwnd As Long, _                              ByVal nIDEvent As Long, _                              ByVal uElapse As Long, _                              ByVal lpTimerFunc As Long) As Long

Declare Function KillTimer Lib "user32" _                             (ByVal hwnd As Long, _                              ByVal nIDEvent As Long) As Long

Public TimerID As Long Public LTimerCount As Long Public FTMD As Single    '定义通明度

'开启定时器 Sub 开启定时器()     FTMD = 0#     LTimerCount = 0     TimerID = SetTimer(0, 0, 200, AddressOf TimerProc) End Sub

'定时器执行 Sub TimerProc(ByVal hwnd As Long,ByVal uMsg As Long,ByVal idEvent As Long,ByVal dwTime As Long)         LTimerCount = LTimerCount + 1         慢慢消失         If (LTimerCount >= 12) Then             TimerID = KillTimer(0, TimerID)             '幻灯片跳转             ActivePresentation.SlideShowWindow.View.GotoSlide 3         End If        End Sub

'淡出 Sub 慢慢消失()     If FTMD < 0.99 Then        FTMD = FTMD + 0.1     End If     If FTMD > 1 Then FTMD = 0.99     ActivePresentation.Slides(1).Shapes(2).Fill.Transparency = FTMD End Sub

'下面的程序经常用到:即得到对象ID Dim SObjectWebName As String Dim i As Integer Dim FindDestObject As Object

Set FindDestObject = ActivePresentation.Slides(3)

SObjectWebName = "文本显示"     For i = 1 To FindDestObject.Shapes.Count     If FindDestObject.Shapes(i).AlternativeText = SObjectWebName Then        MsgBox i        Exit For     End If Next

  这样的效果在很多幻灯片中可以用到,比如在开始的时候,标题文字淡出,再淡入,中间用程序更换背景,那么用户看到的就是文字从画面上淡出,再淡入,再进入主题(即可以在主题页面上进行自然切换),效果很好。

关注
打赏
1664252102
查看更多评论
立即登录/注册

微信扫码登录

0.0560s