Delphi利用网页打造华丽无比的程序界面
大家都知道,现在的网页想要多花哨就有多花哨,比起传统windows应用程序界面单调的菜单加按钮,不知醒目多少倍了。而且网页素材十分丰富,制作起来也比较简单。如果你想做一个华丽无比,动感十足的程序界面,那web界面就是你最佳的选择。
看了很爽,做起来也很简单,介绍如下:
一,根据需要,用“Microsoft FrontPage"或者“Dreamweaver”做一个界面,界面加上图片,Flash,那就一定华丽得掉渣了。Web界面与程序事件联系在一起的地方就是“超链接”,我们以一个简单的播放器程序为例。播放器有一个“播放”按钮,一个“停止”按钮,分别设置“播放”按钮的链接为“Play_”;“停止”按钮的超链接为“Stop_”。并保存这个网页文件为“WebFrm.htm”。
二,在Delphi中新建一个Project,设置Form1的长宽和刚才设计网页一样大小,在Form1上放置一个WebBrowser1控件,设置WebBrowser1的Align属性为alClient,我们就是利用TWebBrowser来显示网页界面的。代码如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('D:/播放器/WebFrm.htm');//把“D:/播放器”换成你保存WebFrm.htm的目录
end;
三,关键的就在这步了:在响应Web界面上“播放”和“停止”的点击事件时,就要用到TWebBrowser的OnBeforeNavigate2事件,它的原型如下:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
在它的七个参数中,我们用到只有URL和Cancel这两个,在本例中,当你点击“播放”按钮时,URL就会返回“D:/播放器/WebFrm.htm/Play_”这行字符串,当点击“停止”按钮时,URL则返回“D:/播放器/WebFrm.htm/Stop_”这行字符串。Cancel这个参数的用途是:当点击“播放”按钮时,Web想要跳转到“D:/播放器/WebFrm.htm/Play_”这个页面,但根本没这个页面,WebBrowser1就会出现我们上网经常看到的“该页无法显示”这个页面,这时把Cancel设为True,WebBrowser1会断开链接,就不会出现以上情况了。具体代码如下:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if Pos('Play_', URL) > 0 then begin //当返回的URL含有“Play_”,就执行播放的代码
ShowMessage('播放');//简单起见,用以代替播放的代码。
Cancel := True;
end
else
if Pos('Stop_', URL) > 0 then begin
ShowMessage('停止');//简单起见,用以代替播放的代码。
Cancel := True;
end;
end;
四、收工,拿去眩耀先。
以上代码delphi6+win2000编译通过。
E_mail: qshen@vip.163.com