首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C+SDK中向ListView控件SendMessage数据GetLastError() = 六(句柄无效)

2012-08-09 
C+SDK中向ListView控件SendMessage数据GetLastError() 6(句柄无效)我想在 ListView 中呈现数据,就好象任

C+SDK中向ListView控件SendMessage数据GetLastError() = 6(句柄无效)
我想在 ListView 中呈现数据,就好象任务管理器中的进程列表,使用以下代码来实现

C/C++ code
HWND hList = GetDlgItem(hwnd,IDC_LISTVIEW);for(start = list->next; start != NULL; start = start->next){    LV_ITEM lvi;    ZeroMemory(&lvi, sizeof(LV_ITEM));        lvi.mask = LVIF_TEXT;    lvi.iItem = 0;    lvi.iSubItem = 0;    lvi.pszText = start->ID;//链表中的字符串    SendMessage(hList,LVM_INSERTITEM,0,(LPARAM)&lvi);// GetLastError() = 6,句柄无效    //这里free()链表占用的内存}


郁闷的时,句柄无效的原因是因为 ListView 使用了 LVS_REPORT 风格。有什么办法解决?

[解决办法]
LV_ITEM 又不是listview,这只是个ListView里面的一个项而已。干什么向这个项目发送消息?我想楼主肯定是弄错了
[解决办法]
无论是用ListView_InsertItem(),还是用 SendMessage(hList,LVM_INSERTITEM...),
LVS_REPORT插入行的相关代码都不会影响到ListView控件的操作,应该是其它地方的错误。

热点排行