“超级链接”在VB6下的实现方法

在VB下实现超级链接,好多人都会想到用VB提供的DHTM应用程序,因它是一个交互的、基于浏览器的应用程序,是使用一种动态HTML和已编译的VB代码的组合,使用它,可以编写出一般的网页来。可是,如果您只想在标准的VB程序中实现超级链接呢?比如,在窗体里有一标签,上是某E-Mail 地址,单击它,就能启动系统的电子邮件发信程序,您能做得到吗?
VB中实现超链接

在VB6下实现超级链接,可以有两种方法,一是使用API函数,另一个就是使用OCX控件。

使用API函数时,我们会发觉有数个函数可供选择,而ShellExecute是最好用的,使用OCX控件,则会使我们的工作变得更为简单容易。


新建一个标准的EXE工程,在窗体Form1中添加两个标签Label1、Label2,其Caption属性分别为:

1、发信给作者;2、打开“天极网”主页。

为了使它们更像我们日常上网使用的超级链接,建议各位把标签的Font文字属性设置为带下划线,文字颜色为蓝色,鼠标指向形状(即当鼠标移到标签上时鼠标的形状,MouseIcon的值为手形,MousePointer设为99-Custom)为手掌状。 设置好控件属性后,就可以编写程序代码了。

首先,在窗体声明部分,加入如下的代码,就能引用API函数

ShellExecute: Private Declare Function ShellExecute Lib “shell32.dll” Alias “ShellExecuteA” _(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

其中各个参数的意义如下表所示:

hwnd Long,指定一个窗口的句柄,有时windows程序要在创建自己的主窗口前显示一个消息框
lpOperation String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它
lpFile String,想用关联程序打印或打开一个程序名或文件名
lpParameters String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数
lpDirectory String,想使用的完整路径
nShowCmd Long,定义了如何显示启动程序的常数值

有了API函数,我们就可以用IE打开标签中的超链接。

在标签Label1的Click()过程中加入如下代码:

Call ShellExecute(Form1.hwnd, “Open”, “mailto:admin@heymu.com”, “”, App.Path, 1)

其中“admin@heymu.com”可以更改为自己的邮件地址。

在标签Label2的Click()过程中加入如下代码:

Call ShellExecute(Form1.hwnd, “open”, “http://heymu.com”, vbNullString, vbNullString, &H0)

其中http://heymu.com是要打开的超级链接,您可以更改为您喜欢的链接地址,”open”是采用打开的方法,&H0表示用默认程序IE打开时,IE窗口可见。

输入完以上代码后,试着运行一下,您会发现,点击标签1,程序会调用系统默认的电子邮件收发程序,并打开状态为“写新邮件”,而上面的收信人地址正是“admin@heymu.com”。点击标签2,则会启动 IE浏览器,地址为“http://heymu.com”。

以上是引用API函数的方法,下面再介绍一下使用OCX控件的方法。能实现超级链接的控件很多,只要您用心上网逛一逛,收获一定不少。在这里,我想以HyperLink.ocx(又名 HLNKCTRL.ocx)控件为例。

如果VB控件工具箱里没有HyperLink.ocx控件,要先添加进来(具体添加方法,很简单的,在此就不说啦,免得编辑说我骗稿费呢。),然后,添到窗体Form1的两个标签下方(不要让标签遮盖住了)。HyperLink控件的各个属性怎么修改,随您自己的喜欢吧,只要别漏了URL项就行啦。在URL属性栏中输入“http://heymu.com”之类的网址,就能使程序打开网页,或者输入“admin@heymu.com”之类的电子邮件地址,就能启动电子邮件收发程序。

看,使用控件,是不是很简单?

以上简单地介绍了在VB6下如何实现超级链接的方法,如果各位高手的理解能力不低的话,相信通过我的抛砖引玉的介绍,一定能设计出漂亮的程序来。当然啦,如果您的编程水平特高,您还可以在程序中改变各属性,使程序更具有美观、实用的特性。但,这已不是我在此要探讨的话题啦。
好了,一切设计完毕,保存工程,编译为EXE程序后,即刻试运行一下,看看效果是不是如我所言?如果不是,那么,先仔细检查一下,您有无严格按照我的每一步去做了?如果您确定是我的方法错了,那么,我赔给您一元钱。OK?

One Comment:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.