Veröffentlicht 20. Januar 200520 j Hallo Leute, ich habe den IE als ActiveX in meinem MFC-Dialog, der eine HTML-Seite anzeigt. Ich möchte diese angezeigte Seite bearbeiten, ohne die ursprüngliche Datei zu verändern, d.h. die Änderungen sollen nicht abgespeichert werden. Der geänderte Bereich soll in der Mitte des Explorerfensters angezeigt werden. Wie bekomme ich Zugriff auf die angezeigte Seite und wie kann ich diese im Fenster ausrichten?
21. Januar 200520 j Hi, ist deine Browser-View-Klasse abgeleitet von CHtmlView? Hier ein Beispiel: class CMBrowseView : public CHtmlView { ... } Falls ja, dann kannst du deren Class-Members verwenden (schau mal in der Hilfe nach) Ciao... Manfred
21. Januar 200520 j Autor Beim Hinzufügen der Kontroll-Variable wurde eine Klasse "CExplorer1_name" erstellt, die von CWnd abgeleitet ist. Anmerkung zum Bearbeiten: Ich möchte den Quelltext der angezeigten Seite bearbeiten.
21. Januar 200520 j Dass deine Klasse von CWnd abgeleitet ist bringt uns nicht weiter. Du sagtest doch, dass du ein ActiveX-Element eingebunden hast? Google doch mal mit dessen Namen. Vielleicht bekommst du dann den entscheidenden Hinweis... Viel Glück Manfred
21. Januar 200520 j Autor Es handelt sich um den Microsoft Webbrowser, den man aus der COM-Liste auswählen kann.
21. Januar 200520 j http://msdn.microsoft.com/workshop/browser/webbrowser/reference/ifaces/iwebbrowser2/iwebbrowser2.asp
27. Januar 200520 j Autor Ich habe mir bei CodeProject die Funktion FindText() kopiert. Sie funktioniert bis zum Aufruf lpHtmlDocument->get_body(&lpBodyElm); ASSERT(lpBodyElm); Beim Aufruf wird die Variable lpBodyElm auf 0x0000000 gesetzt und HRESULT gibt S_OK aus. Nach get_body kommt eine Debug Assertion Fehlermeldung mit Verweis auf die aufrufende Zeile. :confused:
27. Januar 200520 j Autor Hat sich erledigt. Man sollte das Dokument im Explorer sehen und nicht bloss Navigate() aufrufen.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.