Browserfenster im Dialog ?



  • Hallo,

    ich habe eine CFormView und möchte darin ein Teil des Fensters oder meinetwegen auch das ganze Fenster für den Browser benutzen, d.h. in dem Fenster Webseiten anzeigen.
    Mein Problem beginnt schon damit, daß ich nicht weiß, was ich im Resourceneditor für ein Element für das Fenster einfügen muß.
    (Mit Element meine ich so was wie ein Eingabefeld, RichEdit-Feld, u.s.w.).
    Läßt sich das Browserfenster denn überhaupt mit einer C ->FORM<- View realisieren ?
    Währe nett, wenn es mir jemand erklähren könnte.
    Ich währe auch dankbar, wenn diese Erklährung auf einen Anfänger zugeschnitten ist, denn mit Views allgemein habe ich noch nicht so viel Erfahrung.





  • Die Vorgehensweise, die dort beschrieben wird, ist mir ja klar.

    Ein Auszug:
    > Schließlich legen Sie im sechsten Dialogfeld des Anwendungs-Assistenten die Klasse CHtmlView als Basisklasse für Ihre Ansichtsklasse fest. Damit erstellt der Assistent Ihre Anwendung mit dem Webbrowser-Steuerelement des Internet Explorer als Hauptansicht der Anwendung.

    Mein Problem: Ich habe ja schon eine Anwendung erstellt basierend auf einer CFormView. Ich möchte dann in dieser Anwendung einfach einen neuen Dislog erstellen. Im Ressorceneditor hab ich ja dann mein Raster, wo ich einzelne Elemente auf dem Dialog platzieren kann. In diesem Dialog möchte ich nun ein Browserfenster haben. Wie muß ich da vorgehen ?



  • Hallo !

    Könnte so klappen:

    - mit der rechten Maustaste auf den Dialog klicken
    - "ActiveX-Steuerelement einfügen" anklicken
    - "Microsoft Webbrowser" auswählen -> das Browserfenster wird im Dialog eingefügt (wenn ich mich richtig erinnere, basiert das Ding auf dem Microsoft Internetexplorer, d.h. es funktioniert nur, wenn der IE installiert ist)
    - "Strg"-Taste gedrückt halten und das Browserfenster doppelklicken -> es erscheint eine Meldung, dass der Browser mit einer Wrapperklasse (CWebBrowser2) in das Projekt eingefügt wird -> "OK" anklicken
    - nochmal "OK" anklicken
    - einen Namen für die Membervariable vergeben (z.B. m_Browser)
    - wieder "OK" anklicken

    Fertig

    Mit

    m_Browser.Navigate("Hier_den_Pfad_als_String_eingeben", 0, 0, 0, 0);
    

    kannst du zu einer HTML-Seite, einer URL, einem *.jpg, *.gif usw. browsen.

    Tschüss



  • Danke !
    So was hab ich gesucht. Werd es mal probieren.

    Falls jemand noch eine andere Methode weiß oder
    noch eine weitere Erklährung hat, dann währe ich froh,
    wenn er es auch noch hier posten würde.



  • Hallo,
    Du kannst auch imn Menu: Einfügen - Neue Klase ...
    dann im Fenster - Neue Klassse, Bassisklasse aufklappen und HTMLView wählen.
    dann brauchst du nicht AktiveX verwenden.
    Natürlich must du dann alles selbst schreiben.
    Probier mal, interessant.
    MfG
    Dabniel



  • Hi,
    ich habe mal die Variante von isabeau ausprobiert.
    Leider wird das ActiveX Steuerelemente bei mir nicht angezeigt 😞
    Seltsam an der Sache ist, das ich aber mit meiner Maus über das Feld fahren kann und sobald dort Schrift auftaucht, sich der Mauszeiger ändert. Also wurde anscheinend die Seite wohl korrekt reingeladen nur bei der Darstellung ist wohl was falsch.
    Ich habe auch ein anderes Beispielprogramm und wenn ich mir dort im Resourcen Editor den Dialog per Strg+T anschaue wird dort der Bereich des Steuerelements weiss dagestellt. In meinem eigenen Projekt leider nicht, dort ist gar nichts zu sehen 😕
    Leider weiss ich nicht wie ich es besser beschreiben soll. Ich hoffe ihr könnt mir trotzdem irgendwie weiterhelfen.
    Gruß
    Thomas



  • Das Microsoft Webbrowser-ActiveX-Ding basiert auf dem InternetExplorer. Könnte es sein, das du den nicht installiert hast (eher unwahrscheinlich, aber möglich) ?



  • Daran lag es leider nicht.
    Ich hatte ihn zwar erst nicht als Standardbrowser eingestellt, aber auch nachdem ich das geändert hatte wurde der HTML Text oder das Feld nicht sichtbar 😞



  • Mmmmhhh, seltsam. Selbst wenn ich bei meinem Testprojekt das #include "webbrowser2.h" (und alle webbrowser2-Objekte) auskommentiere, sehe ich die weisse Browserfläche im Programm...

    Dein Browser ist nicht zufällig aus versehen klitzeklein ? D.h. es ist im Ressourceneditor zu sehen (ist schwarz mit einem Microsoft-Logo in der Mitte) ?

    Das letzte, was mir noch einfällt:
    könnte ja sein, dass dieses Ding bei deinem Betriebssystem nicht mehr unterstützt wird. Es gibt da ein paar Sachen, die bei 2000 oder XP nicht mehr funktionieren... Da gibt die MSDN aber irgendwie nix her...



  • Hi,
    ich habe nochmal einen neuen TestDialog erstellt und damit funktioniert es.
    Mal schauen was ich in dem anderen falsch gemacht habe 🙂
    Danke für deine Hilfe.
    cu



  • void CSammlungenDlg::OnStatusTextChangeWebsite(LPCTSTR Text)
    {
    // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    m_Website.Navigate("wwww.hilfmirmal.de.vu/index.htm", 0, 0, 0, 0);
    }
    ist nur ne beispiel addy
    kann mir jemand sagen was hier falsch ist ?
    hab das webview2 active drin, dat kleine schwarze fesnter mit dem windows logo
    doch wenn ich die exe erstelle wird nichts angezeigt.
    leider weiss ich nicht was der satz bedeutet als string einfügen die addy.
    kann mir da jemand weiterhelfen ? ich möchte eine htm seite anzeigen lassen die im ordner liegt, bzw aus dem web, aber da tut sich nicht.
    bin neuling auf dem gebiet, also mit web usw. 😕


Anmelden zum Antworten