当前位置: 代码迷 >> Delphi >> 紧急Delphi7怎么实现在自己开发的窗体中播放PPT(Office2007)
  详细解决方案

紧急Delphi7怎么实现在自己开发的窗体中播放PPT(Office2007)

热度:106   发布时间:2016-05-10 04:45:06.0
紧急求救:Delphi7如何实现在自己开发的窗体中播放PPT(Office2007)?
紧急求救:Delphi7如何实现在自己开发的窗体中播放PPT(Office2007)?

因为是用的Office2007,Delphi自带Servers组件中的PowerPointApplication已经不能使用了,目前我采用了两种方法去实现,但都不能彻底解决问题,敬请各位大虾帮忙出出主意!

方法一:使用WebBrowser控件,WebBrowser.Navigate('sample.pps');
目前无法解决的问题是:右边会出现滚动条,点击滚动条可以翻到上一页或下一页。

方法二:使用OleContainer控件,代码如下:
OleCon := TOleContainerEx.Create(nil);
  OleCon.Parent := Panel1;
  OleCon.Align := alClient;
  OleCon.allowactivedoc := true;
  OleCon.AllowInPlace := True;
  OleCon.AutoActivate := aaGetFocus;
  OleCon.Anchors := [akTop,akLeft,akRight,akBottom];
  OleCon.Visible := True;
  OleCon.SizeMode := smClip;
  OleCon.CreateObjectFromFile('sample.pps',False);
  OleCon.Run;
  OleCon.SetFocus;
目前无法解决的问题是:只能显示PPT的第一页,没办法自动播放或点击播放PPT内容。

问题很棘手,也很急,只需要能打开PPT并播放就行,不需要做其它控制,麻烦各位帮帮手,谢谢!

------解决方案--------------------
搞了半天,发现OleContainer只能显示第一页哈。无法操作。
不知道这样可以不可以。
把POWPOINT嵌入到你的panel上面,相当于用户直接在你的程序里面玩PowPoint。
这样的话,他想怎么用就怎么用,完全就是在用Powpoint,和你程序无关联。
嵌入代码如下:
Delphi(Pascal) code
  procedure TForm1.button1onclick(sender:tobject);  var  p:olevariant;  s:string;  h:hwnd;  begin  P := createoleobject('Powerpoint.Application');  P.visible := true;  s := P.caption;  h := FindWindow(nil,Pchar(s));  windows.SetParent(h,Panel1.Handle);   windows.SetWindowPos(h,HWND_TOP,0,0,Panel1.Width,Panel1.Height,SWP_SHOWWINDOW);  end;
------解决方案--------------------
呵呵,用一个panel把WebBrowse的拖动条遮住。。。
------解决方案--------------------
遮,必须:
把WebBrowser设为alClient,
然后在WebBrowser的parent上放个Panel,设为alNone,高与WebBrowser一样,左右正好盖住WebBrowser的上下滚动条,锚位设为左不对齐,右对齐,上下则都对齐
  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!
 
  • 最近登录:Mon May 29 02:29:28 CST 2017
  • 最近登录:Mon May 29 02:29:28 CST 2017
  • 最近登录:Mon May 29 02:29:28 CST 2017
  • 最近登录:Mon May 29 02:29:28 CST 2017
  • 最近登录:Mon May 29 02:29:28 CST 2017