做个自己的浏览器很简单

IT商界

  编者按:“你不懂编程,也能做出软件来!”这是我们“编程魔方”新版面的新口号。现在做软件其实就像搭积木、玩魔方,面对目前琳琅满目的第三方编程资源,你只需要懂得“搭积木”的原理,玩魔方的方法。现在做一个好的软件,关键就在你的创意和你的想法。不信?马上瞧瞧……

  所用工具:Delphi5/6/7。这期我们主要以Delphi7为例。

  要求:不需要太多的编程知识,只需要你会使用软件;有兴趣做一个属于你自己的软件。

  目的:冲浪一族对IE、NetScape、NetCaptor等浏览器一定不会陌生,而且看着如MyIE、GosuRF等个人开发的各具特色的浏览器,你是否也想自己来做一个呢?

  第一步:

  首先启动Delphi 7,程序会自动新建一个工程,然后在写代码之前进行一些必要的设置:

  1)用鼠标点击窗体,在Object Inspector中设置相关属性(图1);

  提示:以下所涉及的窗体及控件的属性均在这里设置。

  2)修改Caption属性值为“我的浏览器”(当然你可以取你自己喜欢的浏览器名字);

  3)修改Name属性为frmMyIE,因为后面我们将用frmMyIE来操作Form1窗体;

  4)设置Position属性为poScreenCenter,这是为了在启动程序时,浏览网页的内容会在屏幕中居中显示。

  第二步:

  然后从面板中选择要添加的控件,添加到frmMyIE窗体中,并设置控件的属性。

  提示:什么是控件呢?控件是表单中用于接收用户输入或处理的元素。在这里拖动控件的方法是,在窗体中按住鼠标左键不放,然后拖动到适当的大小后松开鼠标左键即可。

  1)先从控件选择栏中拖动Panel控件到frmMyIE窗体中,再把Align属性设置为alTop(图2);  

  2)Label控件,Caption设置为“网址:”(控件所在位置如图3);

  3)Edit控件(用于输入网址,其Name属性为edt_URL),用于浏览器的网址输入框(图3);

  4)在Win32选项卡中放置一个StatusBar控件,用于浏览器的状态显示栏(图4);

  5)在Internet选项卡中选择WebBrowser控件放置,Align属性设置为alClient(图5);

  提示:此控件用于显示网页的内容。

  6)在Additional选项卡中选择SpeedButton按钮,放置四个到Form中,Caption属性分别为Go、停止、后退,前进。Flat属性均设置为True(图6);

  7)最后调整以上控件的位置,界面如图7所示。

  第三步:

  接下来准备简单地写几行代码:

  1)首先得让WebBrowser控件能显示指定的网页, 在写代码的框中的Private后加入一行“procedure ShowPage(const URL: String);”进行声明就可以了,如图8。

  2)然后按下“CTRL+SHIFT+C”,在begin和end中加入如下代码:

  if URL = '' then

  Application。MessageBox('请输入网址!', '错误', MB_OK+MB_ICONERROR)

  else

  WebBrowser1.Navigate(URL); // 该语句实现显示网页的功能

  3)好了,显示网页功能的代码已经写好,接下来就是在按回车键及点击“Go”按钮的事件中加入ShowPage即可。

  双击Edit控件,便会弹出代码输入框。在begin和end中间加入“if key=VK_RETURN then ShowPage(edit_URL.Text);”代码。

  OK!现在我们可以试试效果。按F9启动程序,在Edit控件中输入http://www.yesky.com,然后回车,天极网首页就显示在我们自己的程序里面了。

  第四步:

  现在网页已经能够实现了,接下来就要完善一下基本功能。让它具备浏览器最基本的功能,如停止、后退、前进、显示状态等。

  提示:WebBrowser控件已经提供了这些功能的方法及事件,我们只需要双击几个按钮的控件,并在弹出的代码输入框里的begin和end中间加入以下代码即可。

  分别加入以下代码:

  停止:WebBrowser1.Stop;

  后退:WebBrowser1.GoBack;

  前进:WebBrowser1.GoForward;

  最后,如果还想在加入状态栏中显示信息,先点WebBrowser控件,再在图1中Events表单下找到StatusTextChange,双击后面的输入框,在弹出的代码输入框里的begin和end中间加入“Statusbar1.SimpleText:=Text;”即可(图9)。

  现在,你可能会问,浏览器还有很多功能,比如:“收藏夹”,“历史记录”等,怎么融合进去呢?这些我们以后会慢慢透露给大家,大家也可以在现在的基础上继续摸索、学习,有什么新点子还可以把它写成文章投给我们:software@cpcw.com。