CListCtrlLink是CListCtrl的扩展类,可以在ListCtrl控件中包含网页链接
使用方法:
1. 添加ListCtrlLink.h,ListCtrlLink.cpp,LinkItem.h,LinkItem.cpp文件到你的项目工程中
2. 添加ListCtrl控件,并和相应的CListCtrlLink变量关联
CListCtrlLink m_listCtrl;
3. 在OnInitDialog()中添加以下代码:
m_listCtrl.InsertColumn(0, _T("Name"), LVCFMT_LEFT, 60); m_listCtrl.InsertColumn(1, _T("Age"), LVCFMT_LEFT, 60); m_listCtrl.InsertColumn(2, _T("Company"), LVCFMT_LEFT, 100); m_listCtrl.InsertColumn(3, _T("Email"), LVCFMT_LEFT, 200); m_listCtrl.InsertItem( 0, _T("Ana")); m_listCtrl.SetItemText(0, 1, _T("26")); m_listCtrl.SetItemText(0, 2, _T("Stanford"), _T("http://www.stanford.edu")); m_listCtrl.SetItemText(0, 3, _T("Unpublished"));
m_listCtrl.InsertItem( 1, _T("John")); m_listCtrl.SetItemText(1, 1, _T("21")); m_listCtrl.SetItemText(1, 2, _T("Yahoo"), _T("http://www.yahoo.com")); m_listCtrl.SetItemText(1, 3, _T("[email protected]"), _T("mailto:[email protected]")); m_listCtrl.InsertItem( 2, _T("Cassio")); m_listCtrl.SetItemText(2, 1, _T("29")); m_listCtrl.SetItemText(2, 2, _T("Symantec"), _T("http://www.symantec.com")); m_listCtrl.SetItemText(2, 3, _T("cassio@some_email.org"), _T("mailto:cassio@some_email.org")); m_listCtrl.InsertItem( 3, _T("Peter")); m_listCtrl.SetItemText(3, 1, _T("64")); m_listCtrl.SetItemText(3, 2, _T("Retired")); m_listCtrl.SetItemText(3, 3, _T("peter@happy_man.org"), _T("mailto:peter@happy_man.org"));
SetItemText的原型为: BOOL SetItemText(int nItem, int nSubItem, LPCTSTR lpszText, LPCTSTR lpctszUrl = NULL),
如果lpctszUrl不设置值,则不会显示超链接,如设置值,则对应的列显示为超链接,点击超链接,会执行ShellExecute
API调用