打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MFC 中创建简单超链接

本文将简单的介绍使用ShellExecute这个API函数,在About对话框的静态文本控件上创建一个指向指定网页的超级链接!

1)  在CAboutDlg中添加一个成员变量

protected:
RECT m_pRectLink; //用于保存静态文本框的屏幕坐标

2)  在About对话框资源上添加一个CStatic控件,ID命为IDC_LINK;

3)  在OnInitDialog()中添加如下代码,以获得控件坐标

GetDlgItem(IDC_LINK)->GetWindowRect(&m_pRectLink);
ScreenToClient(&m_pRectLink);

4)  当鼠标移动到热点上时,鼠标指针变成手型

为WM_MOUSEMOVE添加消息响应函数OnMouseMove(UINT nFlags, CPoint point),在该函数中, point参数可获得对应于窗口左上角的鼠标坐标,通过判断算法就可实现事件的控制。

if(point.x > m_pRectLink.left && point.x < m_pRectLink.right && point.y > m_pRectLink.top && point.y < m_pRectLink.bottom)
{
    HCURSOR hCursor;
    hCursor = AfxGetApp()->LoadCursor(IDC_HANDLINK);
    SetCursor(hCursor);
}

else{…….};//设置默认鼠标指针的形状

5)  为About对话框添加WM_LBUTTONDOWN消息响应函数OnLButtonDown(UINT nFlags, CPoint point)

if(point.x > m_pRectLink.left && point.x < m_pRectLink.right && point.y > m_pRectLink.top && point.y < m_pRectLink.bottom)
{

if (nFlags==MK—LBUTTON)//鼠标左键按下
{

//为改善鼠标效果,此处加入以上变换鼠标形状的代码
ShellExecute(NULL, NULL, _TNULL,NULL, SW_SHOWNORMAL);
//ShellExecute(NULL, _T("open"),_T("mailto:hsxw001@163.com"), NULL, NULL, SW_SHOWNORMAL);

//在默认邮件客户端中打开新邮件窗口,并自动填入收件人地址。若指定多个收件人地址,则收件人地址之间必须用分号或逗号分隔开。

}}

关于ShellExecute()函数的用法详情,请参考MSDN

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VC++ 中巧妙实现超链接控制
MFC编程实例
如何实现可拉伸对话框?
[转载]CDC::DrawDragRect应用实例
mfc改变鼠标形状
Windows 2000/XP中对窗口进行透明化 - VC知识库文章
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服