我在BHO里面创建了一个IE窗口
我现在想去除它的滚动条,但是始终不成功,大家帮帮俺啦创建程序如下:
oCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER,
IID_IWebBrowser2, (LPVOID*)&pIE); 去除滚动条程序如下: long style = ::GetWindowLong(hwnd,GWL_STYLE) ;
style &= ~WS_HSCROLL ;
style &= ~WS_VSCROLL ;
::SetWindowLong(hwnd,GWL_STYLE,style) ;但每次均不能去除滚动条多谢多谢

解决方案 »

  1.   

    你得实现IDocHostUIHandler,重载IDocHostUIHandler::GetHostInfo,
    HRESULT GetHostInfo(DOCHOSTUIINFO *pInfo)
    {
        pInfo->cbSize = sizeof(DOCHOSTUIINFO);
        pInfo->dwFlags = DOCHOSTUIFLAG_SCROLL_NO;
        pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
        pInfo->pchHostCss = NULL;
        pInfo->pchHostNS = NULL;    return S_OK;
    }参考:
    http://msdn.net/workshop/browser/hosting/wbcustomization.asp?frame=true#IDocHostUIHandler
      

  2.   

    我怎么获取新建窗口的IDocHostUIHandler呢?
      

  3.   

    能给我点例子或是做的流程的一个简单说明么?
    我不知道怎么把这个IDocHostUIHandler和我创建的IE窗口连接起来
    多谢
      

  4.   

    IDocHostUIHandler只是接口类,只有虚函数,你得从他派生一个类,并且实现它和它基类的接口,然后通过连接点advise给IWebBrowser。http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/samples/internet/browser/driller/default.asp
      

  5.   

    http://support.microsoft.com/default.aspx?scid=kb;en-us;324419
    void CMFCReproDlg::OnDocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT FAR* URL)
    {
    HRESULT hr = S_OK;
    IWebBrowser2* pWB = NULL; hr = pDisp->QueryInterface(IID_IWebBrowser2, reinterpret_cast<void**>(&pWB)); IDispatch* pDocDisp = NULL;
    hr = pWB->get_Document(&pDocDisp); if (pDocDisp)
    {
    VARIANT v;
    VariantInit(&v); IHTMLDocument2* pDoc = NULL;
    hr = pDocDisp->QueryInterface(IID_IHTMLDocument2, reinterpret_cast<void **>(&pDoc)); IHTMLElement* pElement = NULL;
    hr = pDoc->get_body(&pElement); IHTMLBodyElement* pBodyElement = NULL;
    hr = pElement->QueryInterface(IID_IHTMLBodyElement, (void**)&pBodyElement); if (pBodyElement)
    {
    pBodyElement->put_scroll(::SysAllocString(L"auto"));
    pBodyElement->Release();
    }
    pElement->Release();
    pDoc->Release();
    pDocDisp->Release();
    }
    pWB->Release();
    }