源代码: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. VC问题 IntelliSense:“没有可用的附加信息”,[请参见“C++项目 IntelliSense 疑难解答”,获得进一步的帮助]

    当出现以上的问题时,若按照网上所说的解决方法: 1.安装VA(Visual_AssistX) 2.安装Microsoft SQL Server Compact 3.5 3.更改设置“工具-选项-文本编 ...

  2. C语言中没有main函数生成可执行程序的几种方法

    1.define预处理指令 这种方式很简单,只是简单地将main字符串用宏来代替,或者使用##拼接字符串.示例程序如下: #include <stdio.h> #define begin ...

  3. 一入python深似海--浅拷贝与深拷贝

    python中有一个模块copy,deepcopy函数用于深拷贝,copy函数用于浅拷贝. 要理解浅拷贝,必须先弄清楚python中的引用. 引用 Python中一切都是对象,变量中存放的是对象的引用 ...

  4. 利用KVC使用自定义的控件

    KVC简单使用: 可以用来设置属性的值例如有个Person类下有个属性name [self setvalue:@"yourname" forkey:@"name" ...

  5. JS 切换显示

    <style>  #hhh div {        width:200px;    height:200px;    background:red;    display:none;   ...

  6. Python 2.7 学习笔记 基本知识

    python是一种解释型的.面向对象的.带有动态语义的高级程序设计语言.本文介绍下python的基本知识. 一.安装 各种操作系统有自己的安装方法,linux系统一般都自带了python的环境.这里不 ...

  7. 用Chart控件绘制动态图表

    进行程序设计时,选用一个合适的ActiveX控件,有时可大大减少编程工作量.ActiveX 控件(又称OCX)基于COM技术,作为独立的软件模块,它可以在任何程序设计语言中插入使用.本文仅以VC++为 ...

  8. win8安装驱动提示文件哈希值不在指定的目录文件中,此文件可能已损坏或被篡改解决办法

    解决办法: 1. 按快捷键win+R 打开运行命令 2. (请先看完后面的再操作!!)运行输入 shutdown.exe /r /o /f /t 00 3. 点击确定 4. 系统将重启 5. 重启后点 ...

  9. Android 系统稳定性 - ANR(一)

    文章都为原创,转载请注明出处,未经允许而盗用者追究法律责任.很久之前写的了,留着有点浪费,共享之.编写者:李文栋  如果你是一个Android应用程序开发人员,你的人生中不可避免的三件事情是:死亡.缴 ...

  10. Linux: 信息查看

    Linux log日志查看  http://www.2cto.com/os/201307/227230.html