jianren_ko 2015-11-23 09:41 采纳率: 100%
浏览 1222

PPT 自动化开发,PPT嵌入MFC对话框后,按下ESC,幻灯片播放的窗口退出,PPT窗口也同时退出

Alert me
|
Edit
|
Delete
|
Change type
Question
You cannot vote on your own post
0

我自己创建了一个atl控件,用来实现PPT的播放、保存的功能(office 2013版本);然后将该控件嵌入MFC对话框程序里面,但是播放PPT的出现了问题:播放幻灯片的时候,能够正常播放,但是按下ESC按钮结束幻灯片播放的时候,整个PPT都退出了。我的需求是按下ESC按键的时候,播放幻灯片的页面退出,但是ppt不退出,我不清楚该如何解决这个问题,求指教

流程:我这边是用的OleCreateFromFile()方式创建的PPT对象,自己调用接口SlideShowWindowPtr的Run()来播放幻灯片;参考代码如下:

BOOL CInstanceFactory::OpenOfficeDoc(REFCLSID rclsid,const CString &strPath)
{

    pItem = new CAxDocConCntrItem(pDoc);
    ASSERT_VALID(pItem);
    CString strPath1 = strPath;
    LPCTSTR lpszPath1 = strPath1.GetBuffer();
    pItem->CreateFromFile(lpszPath1, rclsid,OLERENDER_DRAW,CF_TEXT,NULL);    

    m_pItem = pItem;

    LPDISPATCH lpDisp = m_pItem->GetDispatch_PowerPoint();
    PowerPoint::_PresentationPtr  _appPresent = lpDisp;
    DocumentWindowsPtr docsPtr = _appPresent->GetWindows();
    PowerPoint::SlideShowSettingsPtr appSlideRun = _appPresent->GetSlideShowSettings();
    SlideShowWindowPtr slideShowWidnowPtr = appSlideRun->Run();
    slideShowWidnowPtr->Activate();

}

BOOL CAxDocConCntrItem::CreateFromFile(LPCTSTR lpszFileName, REFCLSID clsid,
OLERENDER render, CLIPFORMAT cfFormat, LPFORMATETC lpFormatEtc)

{

SCODE sc = ::OleCreateFromFile(clsid, T2COLE(lpszFileName),
    IID_IUnknown, render, lpFormatEtc, m_lpClientSite, m_lpStorage,
    (LPLP)&m_lpObject);

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集
    • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
    • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
    • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)