带超链接功能的列表控件
此控件为列表控件提供超链接功能,并精确定位光标位置。
引言
这段代码提供了一种为 CListCtrl
添加超链接功能的方法。
背景
当我搜索实现此功能的方法时,在 The Code Project 上,我注意到大多数提供的代码都提供了该功能,但并不完美。当光标移动到网格单元格上时,超链接有效,但对单词本身无效。因此,我决定编写代码以更好地提供此功能。
使用代码
基本类是 CReportCtrl
,它继承自 CListCtrl
。
CReportCtrl
的使用非常简单,就像这样
m_list.SetColumnHeader(_T("no, 40, 1; name, 290, 1; link, 70, 1"));
m_list.SetGridLines(TRUE);
m_list.InsertItem( 0 , _T(""));
m_list.SetItemText(0, 0, 1);
m_list.SetItemText(0, 1, "website");
m_list.SetItemText(0, 2, "baidu");
m_list.SetItemURL(0, 2,"www.baidu.com","search website - www.baidu.com");
m_list.InsertItem(1, _T(""));
m_list.SetItemText(1, 0, 1);
m_list.SetItemText(1, 1, "gg");
m_list.SetItemText(1, 2, "google");
m_list.SetItemURL(1, 2,"www.google.com", "search website - www.google.com");