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

一、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, 在增加了自定义工具栏按钮后,需要调用,否则自定义的工具栏按钮不能刷新


二、开发心得


你可能感兴趣的:(windows,ocx,VS2013,DSOframer,msword)