基于DsoFramer开发MSWord的ocx方式的总结

来源:互联网 发布:阿里转淘宝数据包 编辑:程序博客网 时间:2024/06/10 09:24

一、Dsoframer的已有问题

1. 增加接口函数ActivateWithoutFocus,激活word, 但是不抢占焦点;

在dsofauto.cpp中增加接口函数ActivateWithoutFocus

 

在dsofcontrol.cpp增加函数UIActivateWithoutFocus(BOOL fForceUIActive)

 

 

2. dsofdocobj.cpp 修改IPActivateView函数

 增加activateme操作,这样当commandbar发生改变后能够及时更新


3. dsofdocobj.cpp 修改OnNotifyAppActivate函数

 一定要先设置OnFrameWindowActivate为FALSE,否则会出现在打开两个都包含word ocx的exe时,第二次加载文件后,右击菜单无法弹出的问题


4. dsofcontrol.cpp 修改函数OnAppActivationChange

 在打开弹出式IE窗口时,会出现m_fComponentActive值不准确,导致无法编辑word,需要手动激活


5. dsofcontrol.cpp修改函数ControlWindowProc

 必须加,在鼠标点击是激活控件,因为在xp上会莫名其妙收到deactive的消息,在需要鼠标点击时主动激活


6.增加接口函数UpdateView, 在增加了自定义工具栏按钮后,需要调用,否则自定义的工具栏按钮不能刷新


二、开发心得


0 0