如何才能得到 IID_IHTMLElement2 接口然后给WebBrowser画图和接受事件?希望高手指点,给代码做出修改的 成功运行的 +100分我代码中最后一句 如下,为何pCtrlElement2.addBehavior();不成功?
pdispImgElement-> QueryInterface(IID_IHTMLElement2, (void**) &pCtrlElement2);
pCtrlElement2.addBehavior() CComPtr<IDispatch> spDisp;
m_arrWB[i]->pWebBrowser->get_Document(&spDisp); //Query for HtmlDocument2
CComQIPtr<IHTMLDocument2> spDoc( spDisp );
//Get the active element
CComPtr<IHTMLElement> spElementHit;
BSTR strImgKey=BSTR ("sc.gif");
long lCount=0;
IHTMLImgElement *pImg=NULL; CComPtr<IDispatch> pdispImgElement = NULL;
//IDispatch* pdispImgElement = NULL;
IDispatch* pdispCtrlRange = NULL; IHTMLElementCollection* pImgCol = NULL;
spDoc->get_images(&pImgCol);
pImgCol->get_length(&lCount);
for (int i=0;i <lCount;i++)
{
BSTR bstrSrc=NULL;
VARIANT index;
index.vt=VT_I4;
index.lVal=i;
pImgCol->item(index,index,(IDispatch**)&pdispImgElement);
pdispImgElement-> QueryInterface(IID_IHTMLImgElement,(void **)&pImg);
if(NULL != pImg)
{
pImg-> get_src(&bstrSrc); //find the img we want!!
int nComp = wcscmp(bstrSrc,strImgKey);
if(nComp < 0)//表示相同
{
break;
}
}
pImg-> Release();
}//IHTMLControlElement* pCtrlElement = NULL;
//pdispImgElement-> QueryInterface(IID_IHTMLControlElement, (void**) &pCtrlElement);
IHTMLElement2 *pCtrlElement2 = NULL;
pdispImgElement-> QueryInterface(IID_IHTMLElement2, (void**) &pCtrlElement2);
pCtrlElement2.addBehavior();//???????????????????
pdispImgElement-> QueryInterface(IID_IHTMLElement2, (void**) &pCtrlElement2);
pCtrlElement2.addBehavior() CComPtr<IDispatch> spDisp;
m_arrWB[i]->pWebBrowser->get_Document(&spDisp); //Query for HtmlDocument2
CComQIPtr<IHTMLDocument2> spDoc( spDisp );
//Get the active element
CComPtr<IHTMLElement> spElementHit;
BSTR strImgKey=BSTR ("sc.gif");
long lCount=0;
IHTMLImgElement *pImg=NULL; CComPtr<IDispatch> pdispImgElement = NULL;
//IDispatch* pdispImgElement = NULL;
IDispatch* pdispCtrlRange = NULL; IHTMLElementCollection* pImgCol = NULL;
spDoc->get_images(&pImgCol);
pImgCol->get_length(&lCount);
for (int i=0;i <lCount;i++)
{
BSTR bstrSrc=NULL;
VARIANT index;
index.vt=VT_I4;
index.lVal=i;
pImgCol->item(index,index,(IDispatch**)&pdispImgElement);
pdispImgElement-> QueryInterface(IID_IHTMLImgElement,(void **)&pImg);
if(NULL != pImg)
{
pImg-> get_src(&bstrSrc); //find the img we want!!
int nComp = wcscmp(bstrSrc,strImgKey);
if(nComp < 0)//表示相同
{
break;
}
}
pImg-> Release();
}//IHTMLControlElement* pCtrlElement = NULL;
//pdispImgElement-> QueryInterface(IID_IHTMLControlElement, (void**) &pCtrlElement);
IHTMLElement2 *pCtrlElement2 = NULL;
pdispImgElement-> QueryInterface(IID_IHTMLElement2, (void**) &pCtrlElement2);
pCtrlElement2.addBehavior();//???????????????????
这句话肯定不行