请问用ATL做的ActiveX控件,如何获得容器比如Word的Application的指针?100分啊

littleroy 2005-11-25 11:26:38
同上
...全文
148 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2005-12-19
  • 打赏
  • 举报
回复
IOleClientSite *pClientSite = NULL;
this->GetClientSite(&pClientSite);
CComPtr<IOleContainer> pContainer;
HRESULT hr = pClientSite->GetContainer(&pContainer);
if (hr == S_OK)
{
CComQIPtr<MSWord::_Document> spDoc(pContainer);
ATLASSERT(spDoc);
....
}
For more information about Word Document Object Model, see Word VBA Help.
wshcdr 2005-12-18
  • 打赏
  • 举报
回复
UP
  • 打赏
  • 举报
回复
如果你是做office的插件,Application指针会通过OnConnect传递给插件,其它的方式就用CreateObject吧,但是要知道clsid和interface id
littleroy 2005-11-25
  • 打赏
  • 举报
回复
我听说可以用GetClientSite的方式,
但,不知道,具体详细情况该怎么做,,

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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