如何处理CListCtrl被选中的消息

sufon 2004-12-21 08:44:32
如何处理CListCtrl被选中的消息,Itemchang好像会被触发多次,还有其他办法吗?

请尽量详细,谢谢。
...全文
106 点赞 收藏 6
写回复
6 条回复
broown 2004年12月21日
up
回复 点赞
sufon 2004年12月21日
谢谢
回复 点赞
chqu18 2004年12月21日
NM_CLICK消息中,
POSITION pos = list.GetFirstSelectedItemPosition();
if(pos)
{
int nItem = list.GetNextSelectedItem(pos);//返回选中的item
}
回复 点赞
Kudeet 2004年12月21日
呵呵!换名字啦!
回复 点赞
EnochShen 2004年12月21日
POINT ptCursor;
LV_HITTESTINFO lvHitTestInfo;
LV_ITEM lvItem;

GetCursorPos(&ptCursor);
ScreenToClient(&ptCursor);
lvHitTestInfo.pt = ptCursor;
HitTest(&lvHitTestInfo);

if(lvHitTestInfo.flags & (TVHT_ONITEMLABEL|TVHT_ONITEMICON))//判断一下是不是点在了图标,或者那个标签上。
{
lvItem.iItem = lvHitTestInfo.iItem;
if(GetItem(&lvItem))
{
return;
}

//lvItem就是点中了的那个Item
}
回复 点赞
Kudeet 2004年12月21日
NM_CLICK消息
ON_NOTIFY(NM_CLICK, IDC_STANDLIST, OnClickStandlist)

然后用
int Index;
if((Index = m_standlist.GetNextItem(-1,LVNI_SELECTED)) != -1)
{
//Index是选中的索引
}
回复 点赞
发动态
发帖子
VC/MFC
创建于2007-09-28

7889

社区成员

42.1w+

社区内容

VC/MFC相关问题讨论
社区公告
暂无公告