---- Peut-être vous souvenez-vous encore de l'exemple de navigateur dans l'exemple de programme Delphi. Dans cet exemple, un navigateur a été créé en utilisant les propriétés et méthodes du contrôle THttp. Cet exemple est vraiment utile pour comprendre comment utiliser le contrôle THttp. Mais peu de gens l'utiliseront comme un véritable navigateur. La raison est très simple. Les fonctions sont trop limitées. Il ne prend pas en charge Frame, ne prend pas en charge le langage de script Script, ne peut pas afficher les fichiers HTML en tant que fichiers locaux, etc. La plupart des utilisateurs utilisent IE ou Navigator ; nous, les programmeurs, sommes également heureux d'utiliser des navigateurs prêts à l'emploi. Lorsque nous devons utiliser le navigateur, nous appelons le navigateur externe dans le programme via des méthodes telles que WinExec ou CreatePRocess pour que les utilisateurs puissent l'utiliser. Cette méthode est en effet très simple, mais elle me rend toujours un peu réticent à abandonner le contrôle du programme à d'autres programmes externes. Cela me rend toujours très gênant, surtout lorsque le niveau d'utilisation de l'ordinateur de l'utilisateur du logiciel d'application n'est pas très. haut. Ce serait formidable s'il existait un contrôle de navigateur vous permettant d'intégrer le navigateur dans votre propre programme.
---- Si l'environnement externe de votre logiciel est WIN95+IE ou WIN98 (le taux d'utilisation de ce logiciel est encore très élevé), alors il existe déjà un contrôle de navigateur IE dans le système qui peut être utilisé. Vous n'avez pas remarqué le temps, ne gaspillez pas les ressources, utilisez-les. Lorsque IE 3.X ou IE 4. , vous constaterez que le contrôle IE a été enregistré dans le système en tant que contrôle ActiveX, afin que nous puissions utiliser le contrôle dans Delphi.
---- Étant donné que le contrôle du navigateur IE doit fournir une fonction d'affichage avant de pouvoir être utilisé, vous ne pouvez pas utiliser CreateOleObject pour obtenir une instance dans le programme et utiliser directement ses propriétés et méthodes, sinon le programme provoquera une erreur lors de son exécution ; dans ce cas, vous devez utiliser les fonctions fournies dans la fonction Delphi "Importer ActiveX Control", la méthode de fonctionnement est décrite ci-dessous.
---- Dans le menu "Composants", appelez la fonction "Importer un contrôle ActiveX", sélectionnez "Microsoft Internet Controls (Version1.1)" dans la liste des contrôles enregistrés, et le chemin indiqué dans la barre d'invite ci-dessous est C:PWin98SystemSHDOCVW .DLL, trois contrôles pouvant être enregistrés sont répertoriés dans les noms de classe (liste de types) : TWebBrowser_V1, TWebBrowser et TShellFolderViewOC sont respectivement le contrôle du navigateur IE3, le contrôle du navigateur IE4 et le contrôle « Microsoft Shell Folder View Router ». Cliquez sur Installer pour installer. Une fois l'installation terminée, trois contrôles seront ajoutés dans la barre de contrôle "ActiveX", à savoir TWebBrowser_V1, TWebBrowser et TShellFolderViewOC ; dans le répertoire Imports de Delphi, un fichier SHDocVw_TLB.PAS sera créé, qui contient les détails d'empaquetage de ces trois contrôles. , bien sûr, contient des descriptions des propriétés et des méthodes du contrôle, qui peuvent être utilisées comme référence pour utiliser le contrôle.
----
Prenons l'exemple de TWebBrowser (contrôle du navigateur IE4). Les propriétés et méthodes communes de TWebBrowser incluent principalement : GoBack : méthode, revient à la page précédente. GoForward : méthode pour passer à la page suivante. GoHome : méthode, appelle la page d'accueil par défaut, définie dans les options d'IE. GoSearch : méthode, appelle la page de recherche par défaut, qui est définie dans les options d'IE. Navigate(const URL: WideString; var Flags, TargetFrameName, PostData, Headers: OleVariant) : méthode, appelle la page spécifiée, les paramètres spécifiques sont les suivants : URL : l'URL de la page spécifiée. Indicateurs : type de mot, la fonction n'est pas encore claire, peut être définie sur 0. TargetFrameName : WideString, ouvre le Frame où se trouve la page. S'il s'agit d'une chaîne vide, elle sera ouverte dans le Frame actuel ; si le Frame spécifié par TargetFrameName existe, il sera ouvert dans le Frame spécifié par ; TargetFrameName n'existe pas, une nouvelle fenêtre sera ouverte. Cela équivaut à Pour appeler le navigateur IE externe. PostData : booléen, s'il faut autoriser l'envoi de données. En-têtes : WideString, les données d'en-tête de la requête URL à envoyer. Actualiser : méthode, actualise la page actuelle. Stop : Méthode, arrêter d'appeler ou d'ouvrir la page en cours. LocationName : propriété (WideString), le nom de l'emplacement actuel. LocationURL : propriété (WideString), l'URL de l'emplacement actuel. Occupé : attribut (booléen), indiquant s'il est occupé. Visible : propriété (booléenne), indiquant si la fenêtre du navigateur est visible. (Les propriétés suivantes sont nouvelles dans TWebBrowser et ne sont pas disponibles dans TWebBrowser_V1, et leurs fonctions doivent être explorées) StatusBar : Propriété (booléenne), s'il faut afficher la barre d'état. StatusText : propriété (WideString), contenu de la barre d'état. ToolBar : Propriété (SYSINT), contenu dans la barre d'outils. MenuBar : Propriété (booléenne), s'il faut afficher la barre de menu. FullScreen : Propriété (booléenne), s'il faut afficher en plein écran. Hors ligne : Propriété (booléenne), s'il faut naviguer hors ligne. AddressBar : Propriété (booléenne), s'il faut afficher la barre d'adresse. Les événements courants de TWebBrowser incluent principalement : OnStatusTextChange = procédure (Sender : TObject ; const Text : WideString) of object ;
---- Se produit lorsque les informations d'invite de la barre d'état changent. Le paramètre Texte correspond aux informations d'invite de la barre d'état actuelles. Nous pouvons mettre à jour nos propres informations d'invite de la barre d'état ou gérer d'autres transactions en fonction de ces informations.
----OnProgressChange = procédure (Expéditeur : TObject ; Progress, ProgressMax : Integer) de l'objet ;
---- Se produit lorsque la progression de la page ouverte change. Le paramètre Progress est la progression actuelle et ProgressMax est la progression totale. Nous pouvons mettre à jour nos propres informations d'invite dans la barre d'état ou gérer d'autres transactions en fonction de ces deux paramètres.
----OnCommandStateChange = procédure (Expéditeur : TObject ; Commande : Integer ; Activer : WordBool) de l'objet ;
---- Se produit lorsqu'une nouvelle commande est exécutée. Command est l'identifiant de la commande et Enable indique si l'exécution de la commande est autorisée. OnTitleChange = procédure (Expéditeur : TObject ; const Texte : WideString) de l'objet ;
---- Se produit lorsque le titre de la page change, Texte est le titre actuel.
----OnPropertyChange = procédure (Expéditeur : TObject ; const Property_ : WideString) de l'objet ;
---- Se produit lorsque les propriétés de la page changent, Property_ est le nom de la propriété OnDownloadComplete : TNotifyEvent
---- Se produit une fois la page de téléchargement terminée.
----OnDownloadBegin : TNotifyEvent
---- Se produit avant le démarrage de la page de téléchargement.
---- (1) Créez votre propre système d'aide
---- Nous utilisons le contrôle du navigateur IE pour créer un système d'aide pour les utilisateurs. Le fichier d'aide est composé de plusieurs fichiers HTML. Un sujet correspond à un fichier HTML (Topic.HTM) et les éléments sous chaque sujet correspondent au. Fichiers HTML. Une balise (#Item). De cette façon, dans notre système, nous n'avons plus besoin d'appeler le navigateur IE ou le programme WinHelp pour fournir de l'aide aux utilisateurs. Je pense que vous connaissez tous les avantages des fichiers d'aide HTML par rapport aux fichiers d'aide HLP traditionnels.
---- Dans l'exemple suivant, l'utilisation de la méthode Navigate de TWebBrowser (contrôle du navigateur IE4) est démontrée. Veuillez prêter attention aux commentaires dans le programme. (Vous trouverez ci-dessous l'extrait principal du programme).
{Appel du fichier d'aide en fonction de la rubrique et du projet}procédure ShowHelp(HelpTopic,HelpItem: String);var TargetFrameName,PostData,Heads,Flags:OleVariant;URL:widestring;begin TargetFrameName:= ';{Lors de la spécification de la chaîne vide de Frame, puis ouvrez le fichier d'aide dans le Frame actuel} PostData := false;{Ne pas envoyer de données} Heads := ';{Les informations d'en-tête sont vides} Flags := 0;{Les indicateurs sont définis sur 0} URL := HelpTopic + '.HTM#'+HelpItem;{URL des informations d'aide} avec formHelp.webbrowser do{Afficher les informations d'aide dans le contrôle du navigateur IE dans la fenêtre d'aide} commencer à naviguer( URL,Flags,TargetFrameName,PostData,Heads);{Afficher les informations d'aide} end;end;
---- (2) Afficher une animation GIF
---- Si vous ne disposez pas d'un contrôle d'affichage d'animation approprié, vous pouvez aussi bien essayer la méthode suivante.
procédure ShowGIF( GIFFileName : String );var TargetFrameName,PostData,Heads,Flags : OleVariant; URL :widestring;begin TargetFrameName := ';{Lorsque la chaîne vide de Frame est spécifiée, le fichier d'animation sera ouvert dans le Frame actuel} PostData := false;{Ne pas envoyer de données} Heads := ';{Les informations d'en-tête sont vides} Flags := 0;{Flags est défini sur 0} URL := GIFFileName; formGIF.webbrowser do{Afficher l'animation dans le contrôle du navigateur IE dans la fenêtre spécifiée} commencer à naviguer(URL,Flags,TargetFrameName,PostData,Heads);{Afficher le fichier d'animation} end;end;
----Le programme ci-dessus a été débogué sous PWIN98+Delphi3.0.