用Delphi实现超级链接
在许多程序的“关于”对话框中,我们常可以看到“超级链接”式的标签,只须轻轻一点,就能立即启动电子邮件程序给作者写信,或者启动浏览器观看某主页,或者远程登录,或者自动链入新闻组……这些功能在今天——网络已经深入到生活中——来讲,是完全必要的!但是,这样的程序如何实现呢?如何在DELPHI中实现呢?利用控件还是其他的方法?如果你根本找不到实现这些功能的Delphi控件的话,又无法在帮助文件中找到相关主题,那怎么办呢?真是急死人了!别着急,慢慢来,有办法的!
其实,这样的程序设计起来是非常简单的,你别看“超级链接”神秘兮兮,其实用一条函数就能完成,那就是ShellAPI单元中的ShellExecute。不要误以为它只能执行外部的exe文件,其实它可管用了。它的参数为
hWnd:Integer;
Operation:PChar;:PChar;
Parameters:PChar;
Directory:PChar;
ShowCmd:Integer
依次表示父窗口的句柄(handle)、操作类型(缺省时为open)、文件名、启动参数、缺省目录、窗口显示方式。在制作超级链接时,第2、4、5项参数都不需填。窗口显示方式一般填SW_ SHOWNOACTIVATE或者SW_ SHOWNORMAL。其中最关键的就是文件名一项了。
当它以mailto:开头时,启动的是邮件程序;以“http://”、“ftp://”或“gopher://”开头,启动网络浏览程序;以“news:”开头,启动新闻讨论程序;以“telnet:”开头,启动telnetexe。
举例来说,若要调用程序给某人发e-mail,可以这样写:ShellExecute(handle,nil,pchar(′mailto:someone@somewhere.com′),nil,nil,SW_SHOWNORMAL);
那么,既然发送电子邮件是这样的简单,其他的超级连接还会难吗?当然不会!试一试吧!
下面是 实例
|