当前位置:编程学习 > VB >>

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

 

 

  

 

所谓超级链接,就是指点击某按纽或文字、符号等预先设定的位置时,就能使程序页面转到新一个网页上来,或者转到邮件收发程序上来。有上网经验者就最有体会了。下面,我们就以VB6为例,介绍一下在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:wad@yesky.com", "", App.Path, 1),其中“wad@yesky.com”是笔者的电子邮件地址,您可以更改为自己的邮件地址嘛。 

 

在标签Label2的Click()过程中加入如下代码: Call ShellExecute(Form1.hwnd, "open", "http://www.yesky.com", vbNullString, vbNullString, &H0)   

 

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

 

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

 

以上是引用API函数的方法,下面再介绍一下使用OCX控件的方法。能实现超级链接的控件很多,只要您用心上网逛一逛,收获一定不少(例如,“找一找”网站“http://www.zhao1zhao.com”的VB大本营就有很多)。在这里,我想以HyperLink.ocx(又名 HLNKCTRL.ocx)控件为例。

 

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

补充:软件开发 , Vb ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,