vc里怎么用COM控制HTML元素(20分)

oicqkill 2002-04-30 10:03:55
vc里怎么用COM控制HTML元素(20分)

比如说,在VC里嵌入的HTML,怎么捕获对HTML的各种操作并处理他

请给代码例子

oicqkill@163.net

谢谢
...全文
73 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuying 2002-04-30
  • 打赏
  • 举报
回复
这是一段例子,还给你发了完整的程序。
HRESULT hr;
LPCONNECTIONPOINTCONTAINER pCPC = NULL;
LPOLEOBJECT pOleObject = NULL;
LPOLECONTROL pOleControl = NULL;


// initialize all the class member variables
m_dwRef = 1; // must start at 1 for the current instance
m_hrConnected = S_FALSE;
m_dwCookie = 0;
m_pMSHTML = NULL;
m_pCP = NULL;
m_pAnchorLinks = NULL;
m_pImageLinks = NULL;


// Create an instance of an dynamic HTML document
if (FAILED(hr = CoCreateInstance( CLSID_HTMLDocument, NULL, CLSCTX_INPROC_SERVER, IID_IHTMLDocument2, (LPVOID*)&m_pMSHTML )))
{
goto Error;
}

if (FAILED(hr = m_pMSHTML->QueryInterface(IID_IOleObject, (LPVOID*)&pOleObject)))
{
goto Error;
}
hr = pOleObject->SetClientSite((IOleClientSite*)this);
pOleObject->Release();

if (FAILED(hr = m_pMSHTML->QueryInterface(IID_IOleControl, (LPVOID*)&pOleControl)))
{
goto Error;
}
hr = pOleControl->OnAmbientPropertyChange(DISPID_AMBIENT_DLCONTROL);
pOleControl->Release();

// Hook up sink to catch ready state property change
if (FAILED(hr = m_pMSHTML->QueryInterface(IID_IConnectionPointContainer, (LPVOID*)&pCPC)))
{
goto Error;
}

if (FAILED(hr = pCPC->FindConnectionPoint(IID_IPropertyNotifySink, &m_pCP)))
{
goto Error;
}

m_hrConnected = m_pCP->Advise((LPUNKNOWN)(IPropertyNotifySink*)this, &m_dwCookie);

Error:
if (pCPC) pCPC->Release();
albertjin123 2002-04-30
  • 打赏
  • 举报
回复
I have a very simple one

sending you mail...

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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