在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浏览器,地址为“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”之类的电子邮件地址,就能启动电子邮件收发程序。 看,使用控件,是不是很简单? 以上简单地介绍了在VB6下如何实现超级链接的方法,如果各位高手的理解能力不低的话,相信通过我的抛砖引玉的介绍,一定能设计出漂亮的程序来。当然啦,如果您的编程水平特高,您还可以在程序中改变各属性,使程序更具有美观、实用的特性。但,这已不是我在此要探讨的话题啦。 好了,一切设计完毕,保存工程,编译为EXE程序后,即刻试运行一下,看看效果是不是如我所言?如果不是,那么,先仔细检查一下,您有无严格按照我的每一步去做了?如果您确定是我的方法错了,那么,我赔给您一元钱。OK? |
正在阅读:“超级链接”在VB6下的实现方法“超级链接”在VB6下的实现方法
2004-02-14 09:34
出处:PConline
责任编辑:pjl