MFC超鏈接靜態類的使用
源代碼: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"));
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成