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,放到文件夹下,这样就能够有更好的打开速度。
不要想你能为世界做什么,想想你该为世界做什么!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?