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
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从“看懂世界”到“改造世界”:AI发展的四个阶段你了解了吗?
· 协程本质是函数加状态机——零基础深入浅出 C++20 协程
· 编码之道,道心破碎。
· 记一次 .NET 某发证机系统 崩溃分析
· 微服务架构学习与思考:SOA架构与微服务架构对比分析
· 历时半年,我将一个大型asp.net的零代码快速开发平台转成了java
· C#实现语音预处理:降噪、静音检测、自动增益(附Demo源码)
· 记一次 .NET 某无语的电商采集系统 CPU爆高分析
· Spring Boot 启动优化实践
· Coze工作流实战:一键生成治愈风格视频