CHtmlView::OnNewWindow2 öffnet leeres Fenster



  • Hallo lieber Leser,

    wie von Microsoft beispielhaft beschrieben, habe ich in einer SDI-CHtmlView-Anwendung OnNewWindow2 überschrieben, um für Popups/neue Fenster nicht den original IE, sondern meine Anwendung zu starten. Wenn ich nun auf einen entsprechenden Link klicke, dann wird zwar meine Anwendung geöffnet, aber mit einem leeren Fenster. Ich verstehe momentan nicht, warum die hinter dem Link stehende Adresse nicht im neuen Fenster angezeigt wird. Meine Suche im Web war bisher leider erfolglos. Haben Sie für mein Problem evtl. einen hilfreichen Tipp?

    Hier mein Code für OnNewWindow2:

    void CmbtView::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel)
     {
        // Get a pointer to the application object
        CWinApp* pApp = AfxGetApp();
    
        // Get the correct document template
        CDocTemplate* pDocTemplate;
        POSITION pos = pApp->GetFirstDocTemplatePosition();
        pDocTemplate = pApp->GetNextDocTemplate(pos);
    
        ASSERT(pDocTemplate);
    
        // Create the new frame
        CFrameWnd* pNewFrame = pDocTemplate->CreateNewFrame(GetDocument(),
                                               (CFrameWnd*)AfxGetMainWnd());
        ASSERT(pNewFrame);
    
        // Activate the frame and set its active view
        pDocTemplate->InitialUpdateFrame(pNewFrame, NULL);
    
        CmbtView* pWBVw = (CmbtView*)pNewFrame->GetActiveView();
        ASSERT(pWBVw);
    
    	//pWBVw->SetRegisterAsBrowser(TRUE);
    	*ppDisp = GetApplication();
     }
    

    Vielen Dank!

    Grüße von Anton


  • Mod

    Ich sehe keinen Code in dem Du die Befehlszeilen Daten lädst und den Browse Vorgang auslöst.



  • Hallo zusammen,

    Problem gefunden, mit

    *ppDisp = pWBVw->GetApplication();
    

    funktioniert es wie gewünscht.

    Vielen Dank an alle, die sich Gedanken um mögliche Fehler gemacht haben!

    Grüße von Anton.


Anmelden zum Antworten