VS2013/MFC基于对话框编程:文本超链接

来源:互联网 发布:2017笔记本推荐 知乎 编辑:程序博客网 时间:2024/06/08 20:09

静态文本(static text)作为对话框的常用控件之一,一般情况下起着指示说明的作用,让用户明白对话框中的相关信息和功能,这种情况一般不关联点击事件。但有时候需要通过文本来打开某个超链接,比如说某个网址,这时候就需要添加相关函数进行实现。

工具/原料

• Visual Studio 2013

方法/步骤

  1. 打开创建好的Demo项目,在对话框中添加一个group box,3个static text

这里写图片描述

2.修改所有控件的Caption属性,分别改为“链接”、“百度”、“hao123”以及“就绪”。最后一个文本相当于状态栏,用于指示当前状态。

这里写图片描述

这里写图片描述

  • 修改“百度”文本的 ID 为 IDC_LinkBaidu;“hao123”文本的 ID 为 IDC_LinkHao123;状态指示文本ID为IDC_Toast。 此外,需要修改的最重要的一条属性是 Notify,需要点击后打开超链接的文本属性中,修改 Notify为true,否则无法响应鼠标点击事件

这里写图片描述

  • 给状态栏文本添加CStatic类型的变量m_toast

这里写图片描述

  • 分别双击“百度”文本和“hao123”文本,自动生成鼠标点击事件的处理函数。

这里写图片描述

  • 修改两个函数,通过ShellExecute函数打开超链接,通过SetWindowTextW函数修改状态 栏信息。
    ShellExecute(0, NULL, _T(“这里填写网址”), NULL, NULL, SW_NORMAL);
    GetDlgItem(IDC_LinkBaidu)->SetWindowTextW(_T(“你好百度!”));
    m_toast.SetWindowTextW(_T(“已打开百度网页!”));

  • 生成应用程序并测试功能,分别点击两个文本,可以分别打开两个网页,同时在状态栏中更 新提示。

这里写图片描述

源码请见:http://download.csdn.net/download/iflyme/9937547

更多精彩案例参考http://download.csdn.net/download/iflyme/9917844