invoquer du code a partir d'un code html dans un Webrowser

Forum sur la programmation Delphi
Répondre
andromeda
Messages : 706
Enregistré le : 30 mars 2004 0:07
Contact :

invoquer du code a partir d'un code html dans un Webrowser

Message par andromeda » 20 janv. 2009 17:29

Ajouter ce code dans le source

Code : Tout sélectionner

procedure TForm1.FormCreate(Sender: TObject);
begin
        // définir son propre protocol
        protocolString := 'delphi:';

        // naviguer vers le fichier test.htm dans le répertoire de l'application
        WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+'test.htm');

end;

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
        // verifier si le protocol se trouve dans le lien
        if( Pos(protocolString, URL) > 0 )then
        begin
                Cancel := True; // annule le changement de page
                html_command( copy(URL,Length(protocolString)+1,Length(URL)-Length(protocolString)+1) );// extrait le lien sans le protocol
        end;
end;


procedure TForm1.html_command(command: String);
begin
        if( command = 'application_minimize')then
                Application.Minimize
        else if( command = 'application_terminate')then
                Application.Terminate
        else
                ShowMessage('invoked: '+command);
end;


exemple de fichier html chargé dans le Webrowser

Code : Tout sélectionner

<HTML>
<STYLE>
A{font:9px Verdana;color: black;text-decoration: none;}
</STYLE>
<BODY>
<A HREF="http://www.delphifr.com/">Aller sur Delphifr</A><BR>
<A HREF="http://www.yahoo.co.jp">Aller sur Yahoo Japonais</A><BR>
<BR>
<A HREF="delphi:application_minimize">Minimiser</A><BR>
<A HREF="delphi:application_terminate">Quitter</A><BR>
</BODY>
</HTML>
Moderator - Forum

Répondre