王朝网络
分享
 
 
 

用VC6.0实现超级链接

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

用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 。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有