您的位置:首页 > 其它

MFC超链接静态类的使用

2014-01-02 09:02 218 查看
源代码: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"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: