| C++ Builder Snippets |
| ActiveX-Komponente TCppWebBrowser in eigenen Projekten verwenden: |
|
Auf den meisten Windows-Systemen ist heutzutage der Internet Explorer von Microsoft installiert.
Diesen können Sie als ActiveX-Steuerelement in Ihren Programmen einsetzen. Seit der C++ Builder
Version 5.0 ist der TCppWebBrowser in der Komponentenpalette (Register "Internet")
zu finden und ist sogar in der Borland-Hilfe teilweise dokumentiert. Bei den älteren BCB-Versionen
musste das Steuerelement mit Hilfe der Menüpunkte "Komponente" -> "ActiveX-Steuerelement
importieren" manuell in die Komponentenpalette aufgenommen werden. Die Implementierung der Browser-Basisfunktionalität gestaltet sich sehr einfach. Die Komponente wird auf einem Formular plaziert und ausgerichtet. Mit Hilfe der Navigate()-Methode kann eine WWW-Seite oder eine Datei in die Komponente geladen und angezeigt werden: CppWebBrowser->Navigate(WideString(ComboBoxUrl->Text));Die Standard-Navigationsfunktionalitäten lassen sich mit Hilfe folgender selbsterklärender Methoden mit jeweils einer Zeile Code implementieren: //--------------------------------------------------------------------------- // Navigation //--------------------------------------------------------------------------- CppWebBrowser->GoBack(); CppWebBrowser->GoForward(); CppWebBrowser->Stop(); CppWebBrowser->Refresh(); CppWebBrowser->GoHome(); Ereignis "OnCommandStateChange" kann verwendet werden, um die Navigations-Steuerelement abhängig vom Programmzustand zu de-/aktivieren: //--------------------------------------------------------------------------- // (De-)/Aktivieren der Navigationssteuerelemente //--------------------------------------------------------------------------- void __fastcall TfrmMain::CppWebBrowserCommandStateChange(TObject *Sender, long Command, TOLEBOOL Enable) { switch (Command) { case CSC_NAVIGATEBACK: ToolButtonBack->Enabled = Enable; break; case CSC_NAVIGATEFORWARD: ToolButtonForward->Enabled = Enable; break; case CSC_UPDATECOMMANDS: ToolButtonStop->Enabled =CppWebBrowser->Busy; break; } } Eine Download-Fortschrittsanzeige kann mit Hilfe des Ereignisses "OnProgressChange" realisiert werden: //--------------------------------------------------------------------------- // Eventhandler für das OnProgressChange-Ereignis //--------------------------------------------------------------------------- void __fastcall TfrmMain::CppWebBrowserProgressChange(TObject *Sender, long Progress, long ProgressMax) { if(Progress > -1 && ProgressMax > 0) lblProgress->Caption = FloatToStrF(Progress * 100.0/ProgressMax, ffFixed,15,1) + " % fertig"; else lblProgress->Caption = "Download beendet"; }Die Eigenschaft "Busy" gibt an, ob das WebBrowser-Steuerelement gerade eine Lade- oder Navigationsoperation durchführt. Eigenschaften "LocationURL" und "LocationName" liefern den kompletten Pfad, bzw. den Kurznamen des Angezeigten Dokuments. Das MSIE-Dialogfeld "Eigenschaften der Seite" kann mit Hilfe folgender Anweisungen angezeigt werden: TVariant vIn, vOut; CppWebBrowser->ControlInterface->ExecWB(Shdocvw_tlb::OLECMDID_PROPERTIES, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT, &vIn, &vOut); Ebenfalls mit Hilfe der ControlInterface->ExecWB()-Methode kann der gesamte Inhalt der Seite markiert werden: TVariant vIn, vOut; CppWebBrowser->ControlInterface->ExecWB(Shdocvw_tlb::OLECMDID_SELECTALL, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT, &vIn, &vOut); Folgende Anweisung hebt die Auswahl wieder auf: TVariant vIn, vOut; CppWebBrowser->ControlInterface->ExecWB(Shdocvw_tlb::OLECMDID_CLEARSELECTION, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT, &vIn, &vOut); |

|
Download BCB6 Projekt-Quellcode |
|
Download Demo-Exe |
| © '99-2002 by S. Kreutzmann |