Webbrowser mit ATL



  • Vielen Dank

    Der Code sieht jetzt so aus:

    HINSTANCE hDLL = LoadLibrary(L"atl.dll"); 
         typedef HRESULT (WINAPI *PAttachControl)(IUnknown*, HWND,IUnknown**); 
         PAttachControl AtlAxAttachControl = (PAttachControl) GetProcAddress(hDLL, "AtlAxAttachControl"); 
         RECT rect; 
         GetClientRect(hWnd,&rect); 
         container=CreateWindowEx(WS_EX_CLIENTEDGE,L"EDIT",L"",WS_CHILD | WS_VISIBLE,0,0,rect.right,rect.bottom,hWnd,0,0,0); 
         CoInitialize(0); 
    
         CoCreateInstance(CLSID_WebBrowser,0,CLSCTX_ALL,IID_IWebBrowser2,(void**)&pIwb); 
         AtlAxAttachControl(pIwb,container,0); 
         pIwb->GoHome(); 
    
         char cURL[]="www.google.de"; 
    WCHAR strBuffer[200]; 
    MultiByteToWideChar(CP_ACP, 0, cURL, -1, strBuffer, sizeof(strBuffer)); 
    
    pIwb->ClientToWindow(20, 130);
    pIwb->Navigate(strBuffer,0,0,0,0);
    

    Wie krieg ich es nun hin, den Webbrowser OHNE Scrollbars anzeigen zu lassen

    Mit freundlichen Grüßen
    Tim



  • Weiß denn keiner wie ich diese blöden Scrollbars wegkriege?

    Mit freundlichen Grüßen Tim



  • So direkt AFAIK nicht; da mußt du auf den Renderer zugreifen.

    http://c-plusplus.net/forum/viewtopic-var-p-is-1665652.html#1665652



  • Schon mal Danke für den Tipp.

    Aber leider werde ich aus dem ganzen nicht wirklich schlau zumal er die:
    #include <SysUtils.hpp>
    #include <Forms.hpp>
    #include <SHDocVw.hpp>
    #include <MSHTML.hpp>
    garnicht findet..

    kann mir vielleicht irgendjemand von denen die es können einen kleinen Beispielcode schreiben wie ich die Scrollbars wegkriege oder mir erklären wie ich SysUtilis usw. einbinden muss..



  • Da das ein Beispiel für den C++Builder ist, wird es sich bei dir natürlich nicht kompilieren lassen. Für dich sollte aber der Weg zum Deaktivieren der Scrollbars dennoch interessant sein; die Interfaces dürften ja auch bei MSVC nicht anders heißen.



  • Soweit ich das sehe meinst du das:

    _di_IHTMLElement elem = interface_cast <IHTMLDocument2> (webBrowser->Document)->body;
        // Disable scroll bars. 
        _di_IHTMLBodyElement bodyelem = elem; 
        if (bodyelem) 
            bodyelem->scroll = _T ("no");
    

    doch ich krieg es nicht hin dies in meinen Code einzubauen. Ich weiß ich stell mich warscheinlich in euren Augen ziemlich blöd an aber ich bin einfach noch nicht so lange in c++ und WinApi dabei.

    Mit freundlichen Grüßen und der Bitte um weitere Hilfe
    Tim



  • So ich hab jetzt diesen Code in mein Programm eingebaut, doch es geht immer noch nicht (er gibt keine Fehlermeldung aus aber die Scrollbars sind immer noch da)...

    #include <Mshtml.h>
    #include <atlbase.h>
    CComPtr<IDispatch>pdispDoc;
    pIwb->get_Document(&pdispDoc);
    
    CComQIPtr<IHTMLDocument2>piDoc(pdispDoc);
    CComPtr<IHTMLElement>piElem;
    CComPtr<IHTMLBodyElement>piBody;
    
    piDoc->get_body(&piElem); 
    
    piElem->QueryInterface(&piBody); 
    
    (piBody->put_scroll(CComBSTR(_T("no"))));
    

    MFG Tim



  • Win32 FAQ (1992)
    siehe in der fortgeschrittenen Gruppe win32
    news://nntp.aioe.org/comp.os.ms-windows.programmer.win32



  • Tut mir leid das ich noch einmal nachfragen muss, aber ich verstehe da noch nicht so ganz wo ich suchen soll. Wenn ich auf den Link klicke öffnet sich Outlook Express mit interessanten Themen aber ich habe nirgends etwas zur Scrollbar im Webbrowser gefunden.

    MFG Tim



  • Ok nun tut alles vielen Dank.


Anmelden zum Antworten