源代码:http://download.csdn.net/detail/nuptboyzhb/4197151

CHyperLink类,是由CStatic类派生出来,重载了CStatic类的如下函数:

public:

    virtual BOOL PreTranslateMessage(MSG* pMsg);

         virtual BOOL DestroyWindow();

         protected:

    virtual void PreSubclassWindow();

进行了如下消息响应的处理:

afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);

    afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);

    afx_msg void OnMouseMove(UINT nFlags, CPoint point);

         afx_msg void OnTimer(UINT nIDEvent);

         afx_msg BOOL OnEraseBkgnd(CDC* pDC);

         //}}AFX_MSG

    afx_msg void OnClicked();

    DECLARE_MESSAGE_MAP()

在.CPP文件中,进行消息映射

BEGIN_MESSAGE_MAP(CHyperLink, CStatic)

    //{{AFX_MSG_MAP(CHyperLink)

    ON_WM_CTLCOLOR_REFLECT()

    ON_WM_SETCURSOR()

    ON_WM_MOUSEMOVE()

         ON_WM_TIMER()

    ON_CONTROL_REFLECT(STN_CLICKED, OnClicked)

         ON_WM_ERASEBKGND()

         //}}AFX_MSG_MAP

END_MESSAGE_MAP()

使用步骤:

1.       新建一下基于对话框的应用程序,添加一个静态文本控件,将其ID设置为ID_MAIL

2.       将HyperLink.h和HyperLink.cpp复制到工程目录下,并将其加入到工程中;

3.       为对话框增加一个CHyperLink类型的m_hyperlink成员变量,用于关联步骤一中的静态文本控件

4.       在DoDataExchange函数中关联控件:DDX_Control(pDX,IDC_MAIL,m_hyperlink);

5.       在对话框的OnInitDialog()函数中,初始化连接网址:

m_hyperlink.SetURL(_T("http://blog.csdn.net/nuptboyzhb"));

MFC超链接静态类的使用的更多相关文章

  1. MFC超链接

    最近写一个小的对话框程序时,想加一个文本超链接,研究了一下,发上自己的研究成果,供大家参考.下面说说完整的步骤. (假定静态文本ID为ID_STATIC) 首先,设置鼠标的形状及响应鼠标点击 第一步, ...

  2. MFC中 用Static控件做超链接(可以实现变手形、下划线、字体变色等功能)

    1.新建一个基于对话框的工程MyLink,在对话框中拖一个Static控件,ID可改为IDC_SLink. 2.在头文件中添加成员变量: private: CRect m_Rect; CFont* m ...

  3. [Sciter系列] MFC下的Sciter–2.Sciter中的事件,tiscript,语法

    [Sciter系列] MFC下的Sciter–2.Sciter中的事件,tiscript,CSS部分自觉学习,重点说明Tiscript部分的常见语法和事件用法. 本系列文章的目的就是一步步构建出一个功 ...

  4. MFC 文件操作

    MFC中文件的建立 在操作系统中,文件是放在一定的目录下,在创建以及操作文件以前,我们要查看文件要保存的目录有没有存在,如果不存在要创建.这就要用到GetFileAttributes()和Create ...

  5. win32进阶之路:给锁屏软件增加一个超链接按钮

    前言: windows下一切皆窗口,我们看到的超链接也是窗口,效果图如下: 鼠标放在赵大哥博客园主页和关于软件两个按钮上,按钮上的字体会从绿色变成红色,同时鼠标指针变为手型,点下鼠标左键就会调用默认浏 ...

  6. MFC中添加OpenGL

    WINDOWS下展示OpenGL有多种形式: MFC 或 win32,该如何向MFC中添加OpenGL?下面是介绍最简单OpenGL框架. 1.首先通过VS建立MFC应用程序-MyOpenGL,选择单 ...

  7. SonicUI在MFC中的使用

    SonicUI是一个GUI引擎,提供了一些简单的UI组件实现高效率的UI效果,例如:自绘按钮.异形窗体.动画.超链接和图像操作方法.此项目作者开源到CodeProject,地址为:http://www ...

  8. VC/MFC ListCtrl 控件功能使用汇总(转)

    以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以 “ListView_”开头的一些宏.如 ListView_InsertCol ...

  9. 用MFC实现WebGUI--(CDHtmlDialog)

    自从去年年底一次棘手的界面,开始研究用web做界面到现在大约1年,这一年间不是局限在实现层面,也并非一直研究这一个问题,有很多问题其实不是问题,只是自己没有想清楚或者思想没放开.对于一个界面开发人员, ...

随机推荐

  1. git 使用过程(三、文件的添加 修改)

    1.库中添加文件 在目录下新建一个文件 如 testfile.txt .输入命令:① git add testfile.txt  ②git commit -m "这里是你提交的说明" ...

  2. ThinkPHP - CURD增删改查 - 实例 - 搜索功能

    模板代码: /** * 搜索数据 * @return 无返回值 */ public function search(){ //判断并接收参数 //姓名 if ( isset($_POST['usern ...

  3. mac 下搭建 Android 开发环境

    因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...

  4. c++设置输出精度

    float类型的精度6-7位,double类型的变量15-16位,但是float占四个字节,double占八个字节, 但能用float类型不要用double因为double占的字节数多,而且运算速度要 ...

  5. Oracle统计之like,or关键字

    有的时候我们统计需要like多个条件,比如某个字段中含有 “银行”或者“投资公司”,这个时候就用like多个字段. 如下是统计某个地区的2015年入院的病种诊断中带有 “癌”或者“肿瘤”的情况, 正确 ...

  6. Two-phase Termination

    本文参阅[http://ifeve.com/java-two-phase-termination/] Two-phase Termination模式简介 停止线程是一个目标简单而实现却不那么简单的任务 ...

  7. 多玩YY聊天记录解析全过程

    再来一发,现在开始! 下载安装YY,观察YY目录,很明显的发现了sqlite3.dll,这个数据库很多很多很多软件都在用,简单小巧且开源.删除sqlite3.dll 进入YY,历史记录不能正常显示,基 ...

  8. CMAKE的使用

    CMAKE的使用 Version 1.0 2009-3-18 一.      基本使用 安装:下载二进制包后可直接解压使用 从源码安装则执行命令:./bootstrap; make; make ins ...

  9. 利用JNI技术在Android中调用C++形式的OpenGL ES 2.0函数

    1.                 打开Eclipse,File-->New-->Project…-->Android-->AndroidApplication Projec ...

  10. ioc构架demo

    1.视图 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...