Delphipage - la reference en Delphi
Accueil - Astuces - Composants - Programmes - Tutoriaux - Livres - Liens
 Sources
- Astuces
- Composants
- Programmes
- Tutoriaux
 Rechercher
- Delphipage
- Ngscan
 Ressources
- Lexique Delphi
- Livres
- News
- Patchs Delphi
 Liens
- Borland France
- CodeGear
- Les meilleurs sites


Tutoriaux - TWebBrowser

Présentation 

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] [Télécharger navigweb.zip]

Auteur : Yoann
Site internet :
http://delphipage.free.fr/
 


Un peu plus loin...

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.

Tous droits réservés - Contacts
Haut de la page