我想接管 WebBrowser 控件的一些动作,已经用一个组件实现了 IDocHostUIHandler 和IDocHostShowUI 接口,怎样才能把我的组件和 WebBrowser 控件关联起来呢?
---------
在例子程序中我看到了 IOleObject 接口,是否和它有关系呢?
---------
在例子程序中我看到了 IOleObject 接口,是否和它有关系呢?
解决方案 »
- "VPad-Q71" 几个字符在 android img 文件中的排列顺序是怎么样?
- MFC中如何通过移动鼠标来改变一副图片的亮度,也就是对比度啊?
- 磁盘中有个位图的概念,它是什么意思?
- (求帮助!)用C/C++编写一个程序
- 【请教】怎么使用jpg文件作为程序的图标
- 这个SQL语句怎么写??
- LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
- 读写数据库文件
- 关于排序方面的问题,有重分噢,
- 请问MFC对序列化的支持,DECLARE_SERIAL和IMPLEMENT_SERIAL这两个宏没有声明 << 友元运算符
- 我准备了一万分和一千元人民币,专等HongHuer(洪湖人在广州)高人来取。也请各位朋友进来作个见证!
- 我不是计算机专业毕业,请大家介绍一下大学中那几门课程能够提高自己的分析能力以及总体架构能力
{
............
};
TDocHostUIHandlerImpl *FDocHostUIHandler; FDocHostUIHandler = new TDocHostUIHandlerImpl();
//================== CppWebBrowser1->Navigate(L"about:blank"); while(CppWebBrowser1->Document == NULL)
{
Sleep(10);
Application->ProcessMessages();
} // 传递接口指针到IHTMLDocument2 ICustomDoc *m_spCustDoc;
HRESULT hr; hr = CppWebBrowser1->Document->QueryInterface(IID_ICustomDoc,(void**)&m_spCustDoc);
if(SUCCEEDED(hr))
{
hr = m_spCustDoc->SetUIHandler(FDocHostUIHandler);
if(hr != S_OK)
{
MessageBox(NULL,AnsiString(AnsiString("Can not bind IDocHostUIHandler instance to ") +
"IHTMLDocument2.Err = " + SysErrorMessage(hr)).c_str(),
NULL,MB_OK | MB_APPLMODAL | MB_ICONWARNING);
}
else
{
MessageBox(NULL,"Succeeded",NULL,MB_OK | MB_APPLMODAL | MB_ICONWARNING);
} m_spCustDoc->Release();
}
http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/browser/atlbrowser/Default.asp
---------------------
方法一:
BCB_FANS(四大名捕之追杀令) 提供的方法,用 ICustomDoc 接口。方法二:
对象同时还要实现 IOleClientSite,把对象作为 WebBrowser 的宿主,WebBrowser 会查询宿主的 IDocHostUIHandler & IDocHostShowUI 接口