>End If
运行程序,可以看到程序已经截获了用户点击相应超链接的事件(注意:right函数的使用是为了只提取url的最后部分,因为url还包括网络协议和目录等信息)。这样,我们就可以在程序界面中使用Web页来实现用户界面,并通过截获相应的点击事件,通过判断相应的url,得知用户的操作,从而使程序进行不同的操作。
换肤(Skin)的实现
利用以上的程序设计思路,我们来实现程序的换肤。因为程序的动作的处理集中在对WebBrowser控件BeforeNavigate2这个事件的处理上,只与url的值有关,与Web页的具体内容和设计没有关系,因此不但可以分离界面和程序的设计,而且可以轻松的实现诸如换肤此类操作。
具体实现办法可以简单叙述为以下几步:
1. 制作几个不同的Web页,但要保证相应的超链接(url)一致;
2. 在程序中设计一个换肤的操作,切换当前WebBrowser所显示的Web页;
3. 在BeforeNavigate2中处理所有的动作。
以下即为笔者设计的一个简单示例的运行画面。如果将窗体设置为无标题栏,无边框,效果就会更佳。
全部程序的代码如下,实现非常简单。
Option Explicit
Private Sub Form_Load()
WebBrowser1.Navigate App.Path & "\1.htm"
End Sub
Private Sub Option1_Click()
WebBrowser1.Navigate App.Path & "\1.htm"
End Sub
Private Sub Option2_Click()
WebBrowser1.Navigate App.Path & "\2.htm"
End Sub
Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
If Right(URL, 3) = "111" Then
MsgBox "111 Clicked!"
Cancel = True
ElseIf Right(URL, 3) = "222" Then
MsgBox "222 Clicked!"
Cancel = True
End If
End Sub
结束语
在VB中实现与众不同、具有个性界面的程序的办法一般是使用各类界面控件,或者通过调用WinAPI来实现,但一般来说很多漂亮的控件都是需要付费购买的,而通过编程实现都比较复杂,且程序的修改、维护也相应会很复杂。
利用WebBrowser控件可以将界面设计和程序设计分离,对于交互较简单的程序,只需简单编程即可实现一些其他方法较难实现的功能,例如图片按钮、不规则按钮、动画图标等利用Web页可以轻松实现的功能以及换肤等一般程序设计较难实现的功能。利用本文提供的方法进行界面设计可以广泛应用在各类多媒体程序的界面设计,以及程序中类似Office XP和Windows XP的任务窗格的设计。
对于要进行输入输出等相对复杂任务的交互,可以通过下面几个方法思路来实现:
1.将复杂的操作和交互集中起来,直接利用其他方法实现而不利用Web页来实现。
2.程序的输入:在Web页的form设计中,将提交操作的method设置为get,则用户输入内容会出现在url中,可以通过解析url获取用户输入,并进行相应动作。
3.程序的输出:通过对显示的Web页的改写实现。设计一个模板,读入此文件,应用Replace函数可以迅速将程序模板中的内容替换为程序运算后的结果。
上一页 [1] [2] [常用软件]在Maxthon中使用Google网站加速器 [常用软件]在POWERBUILDER中使用WINSOCK控件的方法 [VB.NET程序]在VB.NET中使用MS Access存储过程 — 第二部份 [VB.NET程序]在VB.NET中使用MS Access存储过程 — 第一部份 [VB.NET程序]在 VB 中使用 Unicode API [VB.NET程序]VB中使用WMI获取系统硬件和软件有关信息 [Delphi程序]DELPHI中使用API函数详解 [Delphi程序]在Delphi中使用Queued 组件 [Delphi程序]在delphi中使用flash控件 [Delphi程序]在delphi中使用xml文档有两种方法
|