listview添加了OnGetdispinfo后崩溃

BLACKWIM 2009-04-26 03:54:17
初学VC,自己写小工具用。
这个工具是想下载域名列表里的域名首页并显示到listview上。
不知道为什么,仿照着书上添加了OnGetdispinfo后运行总是崩溃。
希望高手帮忙调试下,谢谢啦。

源码在下面的连接上。
http://blog.mtian.cn/wp-content/uploads/2009/04/downloadlist.rar
...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
BLACKWIM 2009-04-26
  • 打赏
  • 举报
回复
::lstrcpy (pDispInfo->item.pszText, pItem->strContent);

已解决,拷贝的字符串过长导致的崩溃。
BLACKWIM 2009-04-26
  • 打赏
  • 举报
回复
顶一下,希望有人帮忙看看
菜牛 2009-04-26
  • 打赏
  • 举报
回复
把相关代码贴出来就行了。
BLACKWIM 2009-04-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mynamelj 的回复:]
LV_DISPINFO这个结构体好像只有Window CE里有的吧
[/Quote]
windows里面也有的。
MFC程序设计里面的那个例子就用了。
mynamelj 2009-04-26
  • 打赏
  • 举报
回复
LV_DISPINFO这个结构体好像只有Window CE里有的吧
BLACKWIM 2009-04-26
  • 打赏
  • 举报
回复
各位大大帮忙看看吧,谢谢啦。
BLACKWIM 2009-04-26
  • 打赏
  • 举报
回复

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;

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧