关于LVITEM的lParam 我在ListView_InsertItem的时候,把LVITEM的lParam设定为了自己的一个参数~~但是我为什么在这个行上面点击右键从NMITEMACTIVATE中取lParam却取不出来~~~是不是我的方法有问题?如果有问题,请大家告诉我一个正确的方法~~我的目的很简单,就是插入的时候携带一个自己的参数,通过点击右键取出这一行中所携带的参数~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 void C...View::OnLvnItemActivateCommandList(NMHDR *pNMHDR, LRESULT *pResult){ LPNMITEMACTIVATE pNMIA = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 DWORD dwData = GetItemData(pNMIA->iItem); *pResult = 0;} HRESULT GetItemData( LPCSHCOLUMNID pscid, LPCSHCOLUMNDATA pscd, VARIANT *pvarData);我用的时SDK编程~~~可否详细说一下 可能原因如下:1.LVITEM的lParam需要开辟空间 SDK用ListView_GetItem。你查的什么东西呦。 不行的~~~~ListView_GetItem这个函数早就试过了~ ListView_GetItem只能取出最后一次的lParam 你要设置LVITEM里面的iItem为你要取出的那个项目的编号。 设置了~~取的时候也设置了~但是取出来还是最后一次的lParam LVITEM的mask呢?把你的代码发上来看看好不好?求你了。 lvi.iItem = 0; lvi.mask = LVIF_TEXT | LVIF_PARAM; lvi.iItem = lvi.iItem; lvi.pszText = "test"; //lvi.lParam = (LPARAM)lpParam ; ListView_InsertItem(h_list,&lvi); ListView_SetItemText(h_list,lvi.iItem,1,"temp"); lvi.iItem++; 还有,你这里注释掉了?//lvi.lParam = (LPARAM)lpParam ; lvi.iItem = 0;ListView_GetItem(h_list,&lvi);其实这里已经插入了好行数据了,索引可能已经到了10左右,但是我要取第一行的lParam,结果取出来的是最后一次插入的数据~~上面那个注释是后来注释上去的,在测试的时候没有 lvi.iItem = 0;lvi.mask = LVIF_PARAM;ListView_GetItem(h_list,&lvi); 请教高手:Richedit多个超链接问题,高手来啊,这是个绝症吧!有能治的吗? 开源皮肤组件库FreeCL 2.02补丁发布 关于MFC+ACCESS的问题 高手是怎么看程序的? 静态拆分视图问题 ODBC简单问题! 送分啦,超简单问题.如何在规则的MFC DLL文件中释放全局变量? 一个TCP端口最多可以同时连接多少个客户端呢? 技术交流群 ***菜鸟问题(文件判断),请速来拣分*** DrawText 怎么调整行间距,请指教 为什么我的VC对话框里面突然间不能加控件了呢?
{
LPNMITEMACTIVATE pNMIA = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
DWORD dwData = GetItemData(pNMIA->iItem); *pResult = 0;
}
LPCSHCOLUMNDATA pscd,
VARIANT *pvarData
);
我用的时SDK编程~~~可否详细说一下
1.LVITEM的lParam需要开辟空间
你查的什么东西呦。
lvi.mask = LVIF_TEXT | LVIF_PARAM; lvi.iItem = lvi.iItem;
lvi.pszText = "test";
//lvi.lParam = (LPARAM)lpParam ;
ListView_InsertItem(h_list,&lvi); ListView_SetItemText(h_list,lvi.iItem,1,"temp"); lvi.iItem++;
//lvi.lParam = (LPARAM)lpParam ;
ListView_GetItem(h_list,&lvi);其实这里已经插入了好行数据了,索引可能已经到了10左右,但是我要取第一行的lParam,结果取出来的是最后一次插入的数据~~上面那个注释是后来注释上去的,在测试的时候没有
lvi.mask = LVIF_PARAM;
ListView_GetItem(h_list,&lvi);