Delphi實例之一個簡易的瀏覽器的實現


Delphi實例之一個簡易的瀏覽器的實現

     Delphi7的WebBrowser組件提供了很多不錯的網頁設計的功能,下面做一個簡單的瀏覽器。組件很簡單按照下面擺放就行了。

 

這是運行后的效果

 源代碼

      主頁面

  1 unit Unit1;
  2 
  3 interface
  4 
  5 uses
  6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7   Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls, OleCtrls, SHDocVw,
  8   ImgList, ToolWin;
  9 
 10 type
 11   TForm1 = class(TForm)
 12     ToolBar1: TToolBar;
 13     StatusBar1: TStatusBar;
 14     ImageList1: TImageList;
 15     WebBrowser1: TWebBrowser;
 16     Panel1: TPanel;
 17     BackButton: TToolButton;
 18     ForwardButton: TToolButton;
 19     ToolButton3: TToolButton;
 20     RefreshButton: TToolButton;
 21     Stopbutton: TToolButton;
 22     HomeButton: TToolButton;
 23     Label1: TLabel;
 24     Edit1: TEdit;
 25     GotoButton: TBitBtn;
 26     procedure GotoButtonClick(Sender: TObject);
 27     procedure WebBrowser1DownloadBegin(Sender: TObject);
 28     procedure WebBrowser1DownloadComplete(Sender: TObject);
 29     procedure BackButtonClick(Sender: TObject);
 30     procedure ForwardButtonClick(Sender: TObject);
 31     procedure StopbuttonClick(Sender: TObject);
 32     procedure RefreshButtonClick(Sender: TObject);
 33     procedure HomeButtonClick(Sender: TObject);
 34   private
 35     { Private declarations }
 36   public
 37     { Public declarations }
 38   end;
 39 
 40 var
 41   Form1: TForm1;
 42 
 43 implementation
 44 
 45 {$R *.dfm}
 46 
 47 procedure TForm1.GotoButtonClick(Sender: TObject);
 48 begin
 49   WebBrowser1.Navigate(Edit1.Text); {連接到指定地址}
 50 end;
 51 
 52 procedure TForm1.WebBrowser1DownloadBegin(Sender: TObject);
 53 begin
 54   Form1.Caption:=Form1.Caption+'  '+Edit1.Text+'……';
 55   StatusBar1.SimpleText:='正在連接地址: '+Edit1.Text; {狀態欄顯示正在連接的地址}
 56 end;
 57 
 58 procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
 59 begin
 60   Form1.Caption:=Form1.Caption+'  '+WebBrowser1.LocationURL;
 61   StatusBar1.SimpleText:='完成' +WebBrowser1.LocationURL;{連接完成}
 62 end;
 63 
 64 procedure TForm1.BackButtonClick(Sender: TObject);
 65 begin
 66   try
 67     WebBrowser1.GoBack;                    {返回}
 68   except
 69     ShowMessage('已經達到最早歷史記錄');
 70     exit;
 71   end;
 72 end;
 73 
 74 procedure TForm1.ForwardButtonClick(Sender: TObject);
 75 begin
 76   try
 77     WebBrowser1.GoForward;                 {前進}
 78   except
 79     ShowMessage('已經達到最新歷史記錄');
 80     exit;
 81   end;
 82 end;
 83 
 84 procedure TForm1.StopbuttonClick(Sender: TObject);
 85 begin
 86   WebBrowser1.Stop;                       {停止}
 87 end;
 88 
 89 procedure TForm1.RefreshButtonClick(Sender: TObject);
 90 begin
 91   WebBrowser1.Refresh;                     {刷新}
 92 end;
 93 
 94 procedure TForm1.HomeButtonClick(Sender: TObject);
 95 begin
 96   WebBrowser1.GoHome;
 97   Edit1.Text:='http://www.cnblogs.com/Chaobs';    {主頁}
 98 end;
 99 
100 end.

很簡單吧!

     Delphi的WebBrowser實際上是調用了mshtml.dll里的函數,而mshtml.dll就是所謂的IE內核Triend,換句話說,這個瀏覽器和當前電腦上的IE瀏覽器公用同一內核。

鑒於國內大部分用戶電腦上裝的都是IE8、9,個人認為下載一個IE11(IE11的速度絕對比得上Chrome),然后提出mshtml.dll,放到文件夾下,這樣就能夠有更好的打開速度。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM