如何播放幻灯片.ppt文件并控制其显示的大小
大伟 2007-05-14 10:34:22 我想做个PPT播放器,让PPT播放的时候显示在整个窗口(不是全屏),可随窗口移动,并可随窗口大小变化时大小也随之改变。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant vPowerPoint;
LPCTSTR lpFileName = "D:\\PLAY_PPT\\演示文稿.pps";
try
{
vPowerPoint = CreateOleObject("PowerPoint.Application");
}
catch(...)
{
ShowMessage("Error...");
}
// 使 Powerpoint 界面可视
vPowerPoint.OlePropertySet("Visible", true);
// Powerpoint的版本
String strVersion = vPowerPoint.OlePropertyGet("Version");
// 打开一个剪辑
vPowerPoint.OlePropertyGet("Presentations")
.OleFunction("Open", lpFileName, false, false, true);
// 幻灯片总数
int nSlidesCount = vPowerPoint.OlePropertyGet("ActivePresentation")
.OlePropertyGet("Slides").OlePropertyGet("Count");
// 放映这个剪辑
vPowerPoint.OlePropertyGet("ActivePresentation")
.OlePropertyGet("SlideShowSettings").OleFunction("Run");
// 下一个幻灯片
Variant vSlideShowWin = vPowerPoint.OlePropertyGet("ActivePresentation")
.OlePropertyGet("SlideShowWindow");
vSlideShowWin.OlePropertyGet("View").OleFunction("Next");
// 跳到第二页
vSlideShowWin.OlePropertyGet("View").OleFunction("GoToSlide", 2);
// 返回上一页
vSlideShowWin.OlePropertyGet("View").OleFunction("Previous");
// 跳到最后一页
vSlideShowWin.OlePropertyGet("View").OleFunction("Last");
// 显示当前幻灯名称
String strSlideName = vSlideShowWin.OlePropertyGet("View")
.OlePropertyGet("Slide").OlePropertyGet("Name");
// 运行某个宏
// vPowerPoint.OleFunction("Run", "'1.ppt'!Macro1");
// 关闭Powerpoint
vPowerPoint.OleProcedure("Quit");
vPowerPoint = Unassigned;
}
用了妖哥的这段代码可以播放PPT,可是幻灯片的大小该如何控制呢?
请大家指导一下谢谢。