有没有办法以某种方式在ATL ActiveX中嵌入一个WTL destop应用程序(即扩展名)?
我想要实现的是使用office文件Viewer创建ActiveX控件。 作为基础,我有一个桌面WTL应用程序(前一段时间写过),它使用OOo v3 API来显示文档。
在这里,我的运气(和知识?)结束了。
我的控件具有m_hwnd属性,但始终设置为0; 我用谷歌搜索了一下,发现我可以用
获得父母this->m_spInPlaceSite->GetWindow()
但它也没有用。每次我想创建一个窗口运行时结束于IsWindow()方法(从ATL lib中调用)与parent == null
要创建并显示OOo :: DocWindow,我需要父窗口的HWND。
这就是问题所在:
我可以以某种方式在ActiveX中嵌入基于WTL窗口的应用程序,即扩展名吗? 是否可以不重写整个OOo Api包装器?
答案 0 :(得分:1)
是的,你可以。
使用VS向导的步骤:
然后将CContainedWindow成员替换为您自己的窗口,这就是全部。
ATL Samples page,我没有检查,但希望它有所帮助。