初学VC,自己写小工具用。
这个工具是想下载域名列表里的域名首页并显示到listview上。
不知道为什么,仿照着书上添加了OnGetdispinfo后运行总是崩溃。
希望高手帮忙调试下,谢谢啦。源码在下面的连接上。
http://blog.mtian.cn/wp-content/uploads/2009/04/downloadlist.rar
这个工具是想下载域名列表里的域名首页并显示到listview上。
不知道为什么,仿照着书上添加了OnGetdispinfo后运行总是崩溃。
希望高手帮忙调试下,谢谢啦。源码在下面的连接上。
http://blog.mtian.cn/wp-content/uploads/2009/04/downloadlist.rar
LONG CDownloadListView::OnThreadShowContent (WPARAM wParam, LPARAM lParam)
{
THREADOUTPARMS* ptp = (THREADOUTPARMS*) wParam;
// Add the item to the list view.
//
LV_ITEM lvi;
lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
lvi.iItem = nDomainCount;
lvi.iSubItem = 0;
lvi.iImage = 0;
lvi.pszText = LPSTR_TEXTCALLBACK;
lvi.lParam = (LPARAM) ptp; if (GetListCtrl ().InsertItem (&lvi) == -1)
return FALSE;
nDomainCount ++; return 0; };
void CDownloadListView::OnGetdispinfo(NMHDR* pNMHDR, LRESULT* pResult)
{ LV_DISPINFO* pDispInfo = (LV_DISPINFO*) pNMHDR; if (pDispInfo->item.mask & LVIF_TEXT) {
THREADOUTPARMS* pItem = (THREADOUTPARMS*) pDispInfo->item.lParam; switch (pDispInfo->item.iSubItem) { case 0: // Domain
::lstrcpy (pDispInfo->item.pszText, pItem->strDomain);
break;
case 1: // Domain content
::lstrcpy (pDispInfo->item.pszText, pItem->strContent);
break;
}
}
*pResult = 0;
}typedef struct tagTHREADOUTPARMS {
CString strDomain;
CString strContent;
} THREADOUTPARMS;
MFC程序设计里面的那个例子就用了。