发布一个CHyperLink类,可适应SDK和MFC

发布一个CHyperLink类,可适应SDK和MFC

使用很简单,调用CHyperLink.Attach(HWND)即可让指定的HWND所指向的控件变成超链接。 

调用CHyperLink.Detach()即可解除绑定,恢复控件默认状态。

代码支持sdk下使用,也支持mfc下使用。在vc6、vc7下测试通过(需要设置winver 0x0500)。而且考虑到了Ascii和unicode的自动适应。

定义:

private :
    CHyperLink m_lnk1;
    CHyperLink m_lnk2;
    CHyperLink m_lnk3;

使用:
BOOL CHyperLink_demoDlg::OnInitDialog()
{
    
// TODO: 在此添加额外的初始化代码
    m_lnk1.Attach(GetDlgItem(IDC_LINK1)->GetSafeHwnd());
    m_lnk2.Attach(GetDlgItem(IDC_LINK2)
->GetSafeHwnd());
    m_lnk3.Attach(GetDlgItem(IDC_BUTTON1)
->GetSafeHwnd());
    m_lnk3.SetLink(
"按钮也能做超链接""mailto:jun_01 # 163.com", FALSE);
    m_lnk1.SetLink(
"http://www.baidu.com""http://www.baidu.com", TRUE);
    
    
return TRUE;  // 除非设置了控件的焦点,否则返回 TRUE
}

效果图

代码和演示工程下载:http://javenreal.googlepages.com/hyperlink_demo.rar

没有从MFC的CStatic继承,并且不支持mfc的特性,使用方法也不大同于其它一些控件类,可能会给只熟悉mfc的朋友造成困惑,所以我的演示工程是mfc的对话框工程。对于熟悉sdk的朋友,这些都应该不成什么问题。

你可能感兴趣的:(发布一个CHyperLink类,可适应SDK和MFC)