读书人

怎么才能得到 IID_IHTMLElement2 接口

发布时间: 2012-01-22 22:38:43 作者: rapoo

如何才能得到 IID_IHTMLElement2 接口然后给WebBrowser画图和接受事件?
如何才能得到 IID_IHTMLElement2 接口然后给WebBrowser画图和接受事件?

希望高手指点,给代码做出修改的 成功运行的 +100分

我代码中最后一句 如下,为何pCtrlElement2.addBehavior();不成功?
pdispImgElement-> QueryInterface(IID_IHTMLElement2, (void**) &pCtrlElement2);
pCtrlElement2.addBehavior()






C/C++ code
            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();//???????????????????


[解决办法]
BSTR strImgKey=BSTR ("sc.gif");
这句话肯定不行
[解决办法]
来学习下。
[解决办法]
addBehavior不是应该有参数的吗,你先取错误信息看看到底是什么错误
[解决办法]
用过这个WebBrowser,不过是给HTML传递参数,这块也费了好大的劲,楼主还是要靠自己,别人只能起辅助作用!

读书人网 >VC/MFC

热点推荐