怎么能去掉边框和滚动条?

解决方案 »

  1.   

    //去滚动条的函数,放在文档下载完成事件后就可以
    void CMyWebBrowserActiveXFunc::IENoScroll()
    {
    if(!this->pIE) return; HRESULT hr=NULL;
    IHTMLElement *pHTMLElement = NULL;
    IHTMLBodyElement *pHTMLBody = NULL; 
    IHTMLDocument2* pDocument = NULL; pDocument = (IHTMLDocument2*)this->pIE->GetDocument();
    if(!pDocument) goto EXIT;
    hr=pDocument->get_body(&pHTMLElement);
    if(!pHTMLElement) goto EXIT;
    if(FAILED(hr)) goto EXIT;
    hr=pHTMLElement->QueryInterface(IID_IHTMLBodyElement, (void**)&pHTMLBody);
    if(!pHTMLBody) goto EXIT;
    if(FAILED(hr)) goto EXIT;
    hr=pHTMLBody->put_scroll(L"no");
    EXIT:
    if(pHTMLElement) pHTMLElement->Release();
    if(pHTMLBody) pHTMLBody->Release();
    if(pDocument) pDocument->Release();
    }
      

  2.   

    我也想去掉,我找到如下代码,可是不行
    BOOL KillHtmlScrollBars(LPDISPATCH   pdispDoc)     
    {     
        CComQIPtr<IHTMLDocument2>piDoc(pdispDoc);
        CComPtr<IHTMLElement>piElem;
        CComPtr<IHTMLBodyElement>piBody;
        if(!piDoc)
    return FALSE;
        piDoc->get_body(&piElem);
        if(!piElem)
    return FALSE;
        piElem->QueryInterface(&piBody);
        if(!piBody)
    return FALSE;
        return SUCCEEDED(piBody->put_scroll(CComBSTR(_T("no"))));
    }
    void CWebDlg::OnDocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT FAR* URL) 
    {
    CComQIPtr<IWebBrowser2>piWB(pDisp);
        CComPtr<IDispatch>pdispDoc;
        if(!piWB)
    return;
        piWB->get_Document(&pdispDoc);
        if(!pdispDoc)
    return;
        KillHtmlScrollBars(pdispDoc);
    }
    参考:http://www.easewe.com/Article/Document/653.htm
    http://topic.csdn.net/t/20030227/10/1471781.html
    http://topic.csdn.net/t/20050225/12/3805822.html
    http://topic.csdn.net/t/20040626/22/3125556.html#
    -------------
    兄弟,解决了告诉我:)
      

  3.   

    能给下完整代码?
    OnDocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT FAR* URL)里面调用IENoScroll()?
      

  4.   


    void CXXXDlg::IENoScroll() //隐藏浏览器控件滚动条

    if(!this->m_web) return;  HRESULT hr = NULL; 
    IHTMLElement *pHTMLElement = NULL; 
    IHTMLBodyElement *pHTMLBody = NULL; 
    IHTMLDocument2* pDocument = NULL;  do 
    {
    pDocument = (IHTMLDocument2*)this->m_web.GetDocument(); 
    if(!pDocument) 
    break; 
    hr=pDocument->get_body(&pHTMLElement); 
    if(!pHTMLElement) 
    break; 
    if(FAILED(hr)) 
    break; 
    hr=pHTMLElement->QueryInterface(IID_IHTMLBodyElement, (void**)&pHTMLBody); 
    if(!pHTMLBody) 
    break; 
    if(FAILED(hr)) 
    break; 
    hr = pHTMLBody->put_scroll(L"no");  //以下到while为禁用右键菜单
    ICustomDoc* pDoc2 = NULL;   
    HRESULT hresult = pDocument->QueryInterface(IID_ICustomDoc,(void**)&pDoc2);   
    if(FAILED(hresult))
    break;
    pDoc2->SetUIHandler(m_ui);   
    pDoc2->Release();   
    } while(0); if(pHTMLElement) 
    pHTMLElement->Release(); 
    if(pHTMLBody) 
    pHTMLBody->Release(); 
    if(pDocument) 
    pDocument->Release(); 

      

  5.   

    很奇怪,导航到www.baidu.com就可以,但是
    CString URL=_T("http://www.google.cn/music/top100/player_page");
    到这个网站就是还有滚动条
    CString URL=_T("http://www.google.cn/music/top100/player_page");
    m_web.Navigate(URL,NULL,NULL,NULL,NULL);
      

  6.   

    pIE就是 web browser 控件的变量 指针而已,楼上的个别朋友已解释全了
      

  7.   

    这种方法并不适用与有些网站,比如mail.yahoo.cn,滚动条还是没办法去掉
      

  8.   

    13楼luckyboy101 ,不行就继承IDocHostUIHandler声明一个类,实现里面的GetHostInfo()操作,这样应该就没问题了