MFC进行OFFICE开发, 监听文件事件,实现INVOKE时如何区分事件来自于哪个文件?

Yjllqs 2018-01-18 02:49:35
如题。
以word为例,多个文件只调用一次wordApp.CreateDispatch(_T("Word.Application")),为wordApp绑定一个Listener。
每个文件对应一个Document0对象,创建时需附带一定的私有信息,包装于Document0之上。
实现invoke时因为需要文件的私有信息,所以需要知道捕获的事件来自于那个文件窗口,如何区分?
开始的时候用pDispParams->rgvarg[0].pdispVal,将它与Document0对象的m_lpDispatch相比较,但发现同一个文件窗口触发的事件,返回的pDispParams->rgvarg[0].pdispVal是不一样的?该怎么办?
新手小白求帮助~~谢谢大神来解答!
...全文
740 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2018-02-02
  • 打赏
  • 举报
回复
建议到微软官网论坛去咨询下
赵4老师 2018-01-19
  • 打赏
  • 举报
回复
百度搜相关关键字。
资源下载链接为: https://pan.quark.cn/s/abbae039bf2a C++ WPS二次开发是指利用C++编程语言与WPS Office软件进行深度集成,实现定制化功能或自动化处理。这通常涉及到API接口调用、事件处理、用户界面扩展等多个方面。以下是一些关于C++ WPS二次开发的关键知识点: WPS Office API:WPS Office提供了丰富的API接口,允许开发者通过C++调用来实现对WPS Writer、WPS Presentation和WPS Spreadsheet等组件的控制。这些API涵盖了文件操作、格式转换、内容编辑、样式设置等功能。 事件处理:在二次开发中,我们需要监听和响应WPS Office中的各种事件,如打开、保存、关闭文档,以及用户交互事件等。C++中通常通过回调函数或者事件委托来处理这些事件。 COM(Component Object Model)技术:WPS Office是基于微软的COM技术构建的,因此C++开发中需要理解COM组件的创建、查询接口、调用方法等概念,使用CoCreateInstance函数实例化对象,QueryInterface获取所需接口,Invoke调用方法。 MFC(Microsoft Foundation Classes)库:对于Windows平台,MFC库提供了方便的窗口和控件处理,可以帮助开发者快速构建用户界面并与WPS Office进行交互。 文档模型理解:理解WPS Office的文档模型是关键,例如XML结构、样式表、表格和图表的底层表示等,这有助于更高效地操作文档内容。

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧