设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> Visual C++ >> 用VC6.0实现超级链接
精品推荐
Visual C++点击TOP10
·用WINSOCK实现聊天室的VC++程序设计
·利用mfc编写activex控件
·用vc实现生产者消费者问题
·DirectX8.0
·C/C++ 大量经典编程书籍下载
·VC快捷键大全
·CreateFileMapping的MSDN翻译和使用心得
·Windows环境下的麦克风录音系统
·挂钩Windows API
·如何开发OPC Server
编程开发点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·ASP.NET 程序中常用的三十三种代码
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

用VC6.0实现超级链接

作者: 来源:网络文章 时间:2005-12-13 15:48:35

用VC6.0实现超级链接
---- 很多windows软件的版权对话框中都设有超级链接,这些链接或提供公司网址,或提供电子邮件信箱,使操作者能够非常方便地与公司和作者联系,同时也为公司作了很好的宣传。如果能在自己写的软件中实现这个功能,定会使程序大增光彩。

---- 实现这个功能要用到一个WINDOWS API函数ShellExecute,其原形为:

HINSTANCE ShellExecute(
HWND hwnd, //窗口句柄
LPCTSTR lpOperation, //操作类型
LPCTSTR lpFile, //文件指针
LPCTSTR lpParameters, //文件可带的参数
LPCTSTR lpDirectory, //缺省目录
INT nShowCmd //显示方式
);

---- ShellExecute函数用于打开或执行一个文件,在调用此函数时只须指定要打开或执行的文件名,而不必管用什么程序去打开或执行文件,WINDOWS会自动根据要打开或执行的文件去判断该如何执行文件或用什么程序去打开文件。以下给出一个完整实例,具体实步骤:

1.创建一个基于对话框的应用程序,命名为hyperlink;
2.打开资源编辑器,在对话框上添加两个static text控件和两个button控件。

---- Static1和button1并列排放,Static1和button1并列排放。

---- 将static1的ID设为ID_STATIC1,caption设为:计算机世界日报:,button1的ID设为ID_BUTTON1,caption设为:http://www.computerworld.com.cn,并选中flat属性。将static2的ID设为:ID_STATIC2,caption设为为:给我写信:,button2的ID设为ID_BUTTON2,caption设为:west_virginia@netease.com,并选中flat属性。

3.创建一个新光标,将其图标编辑成一个手的图像,其ID命名为ID_CURSOR1;
4.给ChyperlinkDlg类增加一个WM_SETCURSOR消息处理函数,其代码如下:

BOOL ChyperlinkDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
CRect rcButton1,rcButton2;
CPoint ptCursor;
CWnd *pStatic1=GetDlgItem(IDC_BUTTON1);
CWnd *pStatic2=GetDlgItem(IDC_BUTTON2);
pStatic1->GetWindowRect (rcButton1);
pStatic2->GetWindowRect (rcButton2);
GetCursorPos(&ptCursor);
if (rcButton1.PtInRect (ptCursor)rcButton2.PtInRect (ptCursor))
{
CWinApp *pApp=AfxGetApp();
HICON hIcoNBAng=pApp->LoadCursor (IDC_CURSOR1);
SetCursor(hIconBang);
return TRUE;
}
else

return CDialog::OnSetCursor
(pWnd, nHitTest, message);
}
其作用是当鼠标位于button1和button2控件上时,将其形状设为手形。

5、 给IDC_BUTTON1增加BN_CLICKD消息处理函数,代码如下:
void ChyperlinkDlg::OnButton1()
{
// TODO: Add your control notification handler
code here
ShellExecute(m_hWnd,NULL,
"http://www.computerworld.com.cn",NULL,NULL,SW_SHOWMAXIMIZED);
}

6、 给IDC_BUTTON2增加BN_CLICKD消息处理函数,代码如下:
void ChyperlinkDlg::OnButton2()
{
// TODO: Add your control notification
handler code here
ShellExecute(m_hWnd,NULL,"mailto:west_virginia@netease.com",
NULL,NULL,SW_SHOWMAXIMIZED);
}

---- 运行此程序,在对话框上显示计算机世界日报的首页链接和作者的电子邮件地址,在其上点鼠标左键后将自动进入计算机日报首页或启动邮件收发程序给作者写信,效果很理想。读者可在此基础上进一步完善,使其更专业化,也可将其写成类,用起来更方便。

---- ShellExecute是一功能很强大的函数,本文只使用了它的一种用法,更详细全面的用法可参考Visual studio 6.0中所带的MSDN library 。


用VC6.0实现超级链接 相关文章:
用VC6.0实现超级链接 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com