|
Le composant TWebBrowser
permet d'afficher des pages web. Comme m'entionner dans l'aide Delphi,
TWebBrowser s'appuie sur la fonctionnalité WebBrowser de la
bibliothèque d'objets Microsoft.
Ce composant se trouve dans l'onglet "Internet" de la palette
de composants de Delphi. Si vous avez une version de Delphi inférieure
à la version 5, vous devez alors importer son contrôle
ActiveX (en réalité le contrôle ActiveX est celui
d'Internet Explorer). Pour cela, il suffit d'aller dans le menu "Composant"
de Delphi puis sur "Importer un contrôle ActiveX...".
Une fenêtre apparait. Choisissez dans la liste "Microsoft
Internet Controls" et cliquer sur le bouton "Installer".
Le composant sera mis par défaut (si vous n'avez pas modifier
de paramètres) dans l'onglet "ActiveX" de la palette
de composants de Delphi.
Utiliser le
composant TWebBrowser |
L'exemple que vous metterez
en oeuvre permet de naviguer sur des pages web dans votre programme
Delphi. Ce programme contiendra toutes les principales options d'un
navigateur web.
Créer un nouveau
projet. Ajoutez un composant TPanel, TLabel, TEdit, TStatuBar, TWebBrowser
et cinq composants TButton.
Afficher une page Web
Lorsque l'utilisateur va presser la touche entrée du clavier,
la page web se chargera et s'affichera.
procedure
TForm1.Edit1KeyPress(Sender: TObject; var
Key: Char);
begin
if Key=Chr(VK_Return) then
begin
Key:=#0; //Supprime le beep du Edit
WebBrowser1.Navigate(Edit1.Text);
//Va sur la ressource identifiée par un chemin
d'accès ou une URL
end;
end; |
|
Actualiser
une page Web
procedure
TForm1.Button1Click(Sender: TObject);
begin
try
WebBrowser1.Refresh; //Recharge
le document en cours
except
ShowMessage('Vous ne pouvez pas rafraichir cette page');
end;
end; |
|
Afficher la page de démarrage
Uses
Registry;
procedure TForm1.Button2Click(Sender: TObject);
Var Registre : TRegistry;
begin
WebBrowser1.GoHome; //Passe sur
la page de démarrage en cours
//Récupère l'URL de
la page de démarrage
Registre:=TRegistry.Create;
Registre.RootKey:=HKEY_CURRENT_USER;
Registre.OpenKey('\Software\Microsoft\Internet Explorer\Main',False);
Edit1.Text:=Registre.ReadString('Start Page');
Registre.CloseKey;
Registre.Free;
end; |
|
Aller
sur la page suivante
procedure
TForm1.Button3Click(Sender: TObject);
begin
try
WebBrowser1.GoForward; //Passe à
l'élément suivant de l'historique
except
ShowMessage('Il n''y a pas d''élément suivant');
end;
end; |
|
Aller sur la page précèdente
procedure
TForm1.Button4Click(Sender: TObject);
begin
try
WebBrowser1.GoBack; //Revient à
l'élément précédent dans l'historique
except
ShowMessage('Il n''y a pas d''élément précèdent');
end;
end; |
|
Arrêter
le chargement d'une la page Web
procedure
TForm1.Button5Click(Sender: TObject);
begin
WebBrowser1.Stop; //Arrête
l'opération en cours
end; |
|
Afficher
le nom de la page Web qui se charge
On utilise pour cela l'événement "OnDownloadBegin"
du composant TWebBrowser.
procedure
TForm1.WebBrowser1DownloadBegin(Sender: TObject);
begin
StatusBar1.SimpleText:='Ouverture de '+WebBrowser1.LocationName;
//Message indiquant le nom de la
page qui se charge
end; |
|
Afficher
un message lorsque la page Web a fini de se charger
On utilise l'événement "OnDownComplete" du
composant TWebBrowser.
procedure
TForm1.WebBrowser1DownloadComplete(Sender: TObject);
begin
StatusBar1.SimpleText:='Terminé'; //Message
indiquant que le chargement de la page est terminé
end; |
|
Navigateur Web |
[ 30-11-2003 ] |
Naviguer
sur le Web grâce au composant TWebBrowser.
Télécharger : [8
Ko] [
navigweb.zip]
Auteur : Yoann
Site internet : http://delphipage.free.fr/
|
|
Dans cette partie, nous
allons voir d'autres fonctionnalités que vous pouvez insérer
dans votre navigateur web.
Enregistrer une page Web
WebBrowser1.ExecWB(OLECMDID_SAVEAS,OLECMDEXECOPT_DODEFAULT); |
|
Imprimer
une page Web
WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DODEFAULT);
|
|
Obtenir les propriétés d'une page
Web
WebBrowser1.ExecWB(OLECMDID_PROPERTIES,OLECMDEXECOPT_DODEFAULT);
|
|
Supprimer les popups
On utilise l'événement "OnNewWindow2" du composant
TWebBrowser.
procedure
TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var
Cancel: WordBool);
begin
Cancel:=True;
end; |
|
Sélectionner toute une page Web
WebBrowser1.ExecWB(OLECMDID_SELECTALL,OLECMDEXECOPT_DODEFAULT);
|
|
Récupèrer tous les liens d'une
page Web
var
i:Integer;
begin
for i:=0 to Webbrowser1.OleObject.Document.links.Length-1
do
Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item(i));
end; |
|
Vous pouvez trouver toutes les fonctionnalités du composant
TWebBrowser dans l'aide Delphi ou sur le site de Microsoft.
|