VC 控制PPT

2024-05-29 23:38
文章标签 控制 ppt vc

本文主要是介绍VC 控制PPT,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


主要内容包括:启动、打开、关闭、幻灯片播放、首页、末页、上一页、下一页等。
本代码以PowerPoint 2003为例,其他OFFICE组件及版本方法与此类似。

下面是主要步骤和代码:
1、创建MFC对话框应用程序,在向导的第2步选择automation,其他保持默认即可。

2、在对话框上添加启动、打开、关闭、幻灯片播放、首页、末页、上一页、下一页等按钮及函数。

3、在应用程序的InitInstance()中初始化OLE,代码如下:
// Initialize OLE libraries
if (!AfxOleInit())
{
    AfxMessageBox("Failed to initialize OLE");
    return FALSE;
}

4、运用类向导添加PowerPoint类型库,类型库默认在"C:\Program Files\Microsoft Office\Office11\"下,文件名为:msppt.olb。//注意选择下面第6点、的类名!!!

5、在对话框应用程序的头文件中添加:
#include "msppt.h"

6、在在对话框应用程序的头文件中添加如下变量:
_Application app;
Presentations Presentations;
_Presentation Presentation;
SlideShowView View;
SlideShowWindow SlideShowWindow;
SlideShowSettings slideshow;
Slides slides;
_Slide slide;
DocumentWindow documentwindow;
View ActiveView;

7、在启动按钮函数中添加如下代码:
void CXXXDlg::OnBtnStart()
{
    // Start PowerPoint and get Application object...
    if(!app.CreateDispatch("Powerpoint.Application"))
    {
        AfxMessageBox("Couldn't startPowerPoint.");
    }
    else // Make PowerPoint visible and display a message
    {
        app.SetVisible(TRUE);
        TRACE("PowerPoint isRunning!");
    }
}

8、在打开按钮函数中添加如下代码:
void CXXXDlg::OnBtnOpen()
{
    static char BASED_CODE szFilter[] = "PowerPoint Files(*.ppt)|*.ppt||";
    CFileDialogFileDlg(TRUE,"PPT",NULL,OFN_FILEMUSTEXIST|OFN_NONETWORKBUTTON
               |OFN_PATHMUSTEXIST,szFilter);
    FileDlg.DoModal();

    // To get the selected file's path andname
    CString strFileName;
    strFileName = FileDlg.GetPathName();

    if(!strFileName.IsEmpty())
    {
        Presentations =app.GetPresentations();
        Presentation =Presentations.Open(strFileName,0,0,1);
    }
}

9、在关闭按钮函数中添加如下代码:
void CXXXDlg::OnBtnClose()
{
    documentwindow=app.GetActiveWindow();//获得活动的文档
    documentwindow.Close();//关闭当前活动的文档
    if (CanExit())
        app.Quit();
}

10、在运行按钮函数中添加如下代码:
void CXXXDlg::OnBtnRun()
{
    Presentations = app.GetActivePresentation();
    slides = Presentation.GetSlides();
    // Show the first slide of the presentation
    slide = slides.Item(COleVariant((long)1));

    //Run the show
    slideshow = Presentation.GetSlideShowSettings();
    slideshow.Run();
}

11、在翻到首页按钮函数中添加如下代码:
void CXXXDlg::OnBtnFirst()
{
    Presentation = app.GetActivePresentation();
    SlideShowWindow = Presentation.GetSlideShowWindow();
    View = SlideShowWindow.GetView();
    View.First();
}

12、在翻到末叶按钮函数中添加如下代码:
void CXXXDlg::OnBtnLast()
{
    Presentation = app.GetActivePresentation();
    SlideShowWindow = Presentation.GetSlideShowWindow();
    View = SlideShowWindow.GetView();
    View.Last();
}

13、在翻到前页按钮函数中添加如下代码:
void CXXXDlg::OnBtnPrevious()
{
    Presentation = app.GetActivePresentation();
    SlideShowWindow = Presentation.GetSlideShowWindow();
    View = SlideShowWindow.GetView();
    View.Previous();
}

14、在翻到下页按钮函数中添加如下代码:
void CXXXDlg::OnBtnNext()
{
    Presentation = app.GetActivePresentation();
    SlideShowWindow = Presentation.GetSlideShowWindow();
    View = SlideShowWindow.GetView();
    View.Next();
}

15.获得幻灯片总数
void CXXXDlg::OnBtnGetSlidesCount()
{

      Presentations=app.GetActivePresentation();

      slides=Presentation.GetSlides();

long endpos=slides.GetCount(); //获得幻灯片总数
}

 

 

 

这篇关于VC 控制PPT的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1014960

相关文章

springboot家政服务管理平台 LW +PPT+源码+讲解

3系统的可行性研究及需求分析 3.1可行性研究 3.1.1技术可行性分析 经过大学四年的学习,已经掌握了JAVA、Mysql数据库等方面的编程技巧和方法,对于这些技术该有的软硬件配置也是齐全的,能够满足开发的需要。 本家政服务管理平台采用的是Mysql作为数据库,可以绝对地保证用户数据的安全;可以与Mysql数据库进行无缝连接。 所以,家政服务管理平台在技术上是可以实施的。 3.1

Java研学-RBAC权限控制(八)

九 登录登出 1 登录作用   判断员工是否有权限访问,首先得知道现在操作的人是谁,所以必须先实现登录功能 2 登录流程   ① 提供登录页面,可输入用户名与密码信息,并添加执行登录的按钮。(登录页面不能被拦截)   ② 给按钮绑定点击事件(异步操作,POST请求)   ③ 事件中发送登录请求,使用 AJAX 方式提交。(使用 AJAX 原因:用户体验更好,既可保留用户刚输入的用户名和密码

ROS2从入门到精通4-4:局部控制插件开发案例(以PID算法为例)

目录 0 专栏介绍1 控制插件编写模板1.1 构造控制插件类1.2 注册并导出插件1.3 编译与使用插件 2 基于PID的路径跟踪原理3 控制插件开发案例(PID算法)常见问题 0 专栏介绍 本专栏旨在通过对ROS2的系统学习,掌握ROS2底层基本分布式原理,并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。 🚀详情:《ROS2从入门到精通》 1 控制插

MQTT之CONNECT控制报文详解

目录 1.  MQTT协议规范 2.  名词解释 3.  CONNECT控制报文详解 3.1  固定报头 Fixed header 3.2  可变报头 Variable header 3.2.1  协议名 Protocol Name 3.2.2  协议级别 Protocol Level 3.2.3  连接标志 Connect Flags 3.2.4  保持连接 Keep

STM32单片机PWR电源控制详解

文章目录 1. PWR概述 2. 电源结构框图 3. 上电复位和掉电复位 4. 可编程电压监测器 5. 低功耗模式 6. 模式选择 6.1 睡眠模式 6.2 停止模式 6.3 待机模式 7. 代码示例 1. PWR概述 PWR(Power Control)电源控制,负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能。 可编程电压监测器

基于动力学的六自由度机器人阻抗恒力跟踪控制

1.整个代码的控制流程图如下: 2.正逆运动学计算 略 3.动力学模型 采用拉格朗日法计算机械臂的动力学模型,其输入的是机械臂的关节角度、角速度和角加速度;其中M、C、G本别是计算的惯性力、科式力和重力项,相关部分如下: 4.RBF神经网络自适应参数调节 采用RBF自适应调节阻抗控制器参数,末端每个方向单独进行参数的调整,其中rbf的输入的是力和位置,输出的是阻抗控制器的参数,rb

LabVIEW编程控制ABB机械臂

使用LabVIEW编程控制ABB机械臂是一项复杂但十分有价值的任务。通过LabVIEW,可以实现对机械臂的精确控制和监控,提升自动化水平和操作效率。 1. 项目规划和硬件选型 1.1 确定系统需求 运动控制:确定机械臂需要执行的任务,如抓取、搬运、装配等。 传感器集成:确定需要集成的传感器,如位置传感器、力传感器、视觉传感器等。 通讯接口:确定与ABB机械臂控制器的通讯接口,如Ethe

【Vite】控制打包结构

配置 vite.config.json 文件: import { defineConfig } from "vite";export default defineConfig({// ...build: {rollupOptions: {output: {entryFileNames: "js/[name]-[hash].js",chunkFileNames: "js/[name]-[hash]

springboot+vue+mybatis旅游管理+PPT+论文+讲解+售后

随着人民生活水平的提高,旅游业已经越来越大众化,而旅游业的核心是信息,不论是对旅游管理部门、对旅游企业,或是对旅游者而言,有效的获取旅游信息,都显得特别重要.旅游管理系统将使旅游相关信息管理工作规范化、信息化、程序化,提供旅游景点、旅游线路,旅游新闻等服务本文以jsp为开发技术,实现了一个旅游网站系统。旅游网站系统的主要使用者分为管理员和用户,管理员权限如下;主页、个人中心、景点分类管理、景点信息

LabVIEW 控制 Tucsen 相机

LabVIEW 控制 Tucsen 相机 ucsen 是一家知名的显微镜相机制造商,其相机产品广泛应用于科研、工业和医疗等领域。本文将介绍如何使用 LabVIEW 软件来控制 Tucsen 相机,涵盖相机的基本情况、硬件和软件要求、具体的控制步骤和编程示例。通过使用 LabVIEW,可以实现相机的图像采集、处理和分析,增强实验和工业应用的效率和精度。 一、Tucsen 相机概况 1.1 相机