- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
让PPT课件演灵动体验
让PPT课件演绎灵动体验
——例谈PPT在演示过程中任意变化三角形形状的制作
一、问题提出背景
随着现代信息技术在学校教学中的普及深入,多媒体课件已成为优化课堂教学、提高的一个不可缺少的辅助手段。PowerPoint软件与Word同出一门能够制作集文字、图像、声音、视频剪辑融于一体被老师们广泛应用课堂教学。显然会PPT课件。为此,本文研究在PPT中绘图的方法,以促进对PPT绘图的应用。MouseDown、MouseMove、MouseUp三种鼠标事件进行程序设计。
当鼠标左键被按下时,便触发MouseDown事件。在MouseDown事件中,先设置线型的颜色(本实例选择蓝色)、鼠标状态变量,读取鼠标指针的位置坐标。代码如下:
PrivateSub I1_MouseDown(ByValButtonAsInteger, ByVal Shift As Integer, By Val X As Single, By Val Y As Single)
ActivePresentation. SlideShowSettings. Run.View.PointerColor.RGB = RGB(0, 0, 255)
Down = True
X0 = X
Y0 = Y
End Sub
当鼠标移动时,便触发MouseMove事件。在MouseMove事件中,读取鼠标指针的位置坐标,然后用Delete方法将原来连接此顶点的两条边线擦掉,此时若不指定被擦线的名称,它将删除所有的画线,因此三角形的三条边线都必须指定名称,如d1、d2、d3。指定线的名称的方法,可以采用先在幻灯片编辑窗口中画一条线段,然后打开脚本编辑器,将其中程序自动分配的名称改为指定的名称;也可以用AddLine方法画指定名称线段。接着再用AddLine方法使用相同的名称重画两条边线。
当鼠标不停移动时,便需要不停地画线,但画线的痕迹不能保留,这可以用DrawLine方法来实现。问题是:当鼠标停止移动时(左键仍然按着),这时,用DrawLine方法画的线将自动被擦除,也就是连接此顶点的两条边线没了,当然,我们可以用Add Line方法使用相同的名称再重画这两条边线,但由于这时程序仍然在运行,当所画线与幻灯片上已有线重名时,程序将出错。因此,在这里便使用了一个状态参数m来控制不要AddLine方法重复画线,将此问题解决。具体代码如下:
Private Sub I1_MouseMove (ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Down Then ‘如果按下鼠标左键。
I1.Left = I1.Left + X - X0 ‘计算顶点随鼠标指针移动到新位置时的左边距。
I1.Top = I1.Top + Y - Y0 ‘计算顶点随鼠标指针移动到新位置时的顶边距
X0 = X ‘重新读取鼠标水平位置。
Y0 = Y ‘重新读取鼠标垂直位置。
m = False ‘设置中间变量是假。
On Error Resume Next ‘若程序出错不要中断仍然执行下去。
SlideShowWindows(1).View.Slide.Shapes(d1).Delete ‘删除连接顶点的一条边。
SlideShowWindows(1).View.Slide.Shapes(d2).Delete ‘删除连接顶点的另一条边。
ActivePresentation.SlideShowWindow.View.DrawLine I2.Left + I2.Width / 2, I2.Top + I2.Height / 2, I1.Left + I1.Width / 2, I1.Top + I1.Height / 2 ‘动态画一条边。
ActivePresentation.SlideShowWindow.View.DrawLine I3.Left + I3.Width / 2, I3.Top + I3.Height / 2, I1.Left + I1.Width / 2, I1.Top + I1.Height / 2 ‘动态画另一条边。
DoEvents ‘产生一个中断以便释放系统资源。
If m = False Then ‘如果中间变量是假。
With SlideShowWindows(1).View.Slide.Shapes.AddLine(I2.Left + I2.Width / 2, I2.Top + I2.Height / 2, I1.Left + I1.
文档评论(0)