扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在VB下实现超级链接,好多人都会想到用VB提供的DHTM应用程序,因它是一个交互的、基于浏览器的应用程序,是使用一种动态HTML和已编译的VB代码的组合,使用它,可以编写出一般的网页来。可是,如果您只想在标准的VB程序中实现超级链接呢?比如,在窗体里有一标签,上是某E--Mail 地址,单击它,就能启动系统的电子邮件发信程序,您能做得到吗?小弟我为了解决这个问题,曾苦苦追寻了数个月,终于在数日前找到了答案。想到还有许多编程初哥如我者也许也有此难题,于是厚着脸皮,在此把我的实现方法与各位探讨一下。
所谓超级链接,就是指点击某按纽或文字、符号等预先设定的位置时,就能使程序页面转到新一个网页上来,或者转到邮件收发程序上来。有上网经验者就最有体会了。下面,我们就以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浏览器,地址为“ttp://www.yesky.com”。
以上是引用API函数的方法,下面再介绍一下使用OCX控件的方法。能实现超级链接的控件很多,只要您用心上网逛一逛,收获一定不少。在这里,我想以HyperLink.ocx(又名 HLNKCTRL.ocx)控件为例。
如果VB控件工具箱里没有HyperLink.ocx控件,要先添加进来(具体添加方法,很简单的,在此就不说啦,免得编辑说我骗稿费呢。),然后,添到窗体Form1的两个标签下方(不要让标签遮盖住了)。HyperLink控件的各个属性怎么修改,随您自己的喜欢吧,只要别漏了URL项就行啦。在URL属性栏中输入“ttp://www.yesky.com”之类的网址,就能使程序打开网页,或者输入“mailto:wad@yesky.com”之类的电子邮件地址,就能启动电子邮件收发程序。
看,使用控件,是不是很简单?
以上简单地介绍了在VB6下如何实现超级链接的方法,如果各位高手的理解能力不低的话,相信通过我的抛砖引玉的介绍,一定能设计出漂亮的程序来。当然啦,如果您的编程水平特高,您还可以在程序中改变各属性,使程序更具有美观、实用的特性。但,这已不是我在此要探讨的话题啦。
好了,一切设计完毕,保存工程,编译为EXE程序后,即刻试运行一下,看看效果是不是如我所言?如果不是,那么,先仔细检查一下,您有无严格按照我的每一步去做了?如果您确定是我的方法错了,那么,我赔给您一元钱。OK?
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者