LVS_EX_CHECKBOXES属性的CListCtrl怎样获得复选框选中的动作。

j805 2005-08-30 05:41:17
我的CListCtrl使用了LVS_EX_CHECKBOXES 属性。
当我选中复选框时,我希望获得这个动作并自己处理。

不想用GetCheck来找。
...全文
951 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
j805 2005-08-30
  • 打赏
  • 举报
回复
void CMainView::OnItemchangedListData(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
*pResult = 0;

if (pNMListView->uOldState == 0 && pNMListView->uNewState == 0)
return; // No change


// Old check box state
BOOL bPrevState = (BOOL)(((pNMListView->uOldState &
LVIS_STATEIMAGEMASK)>>12)-1);
if (bPrevState < 0) // On startup there's no previous state
bPrevState = 0; // so assign as false (unchecked)

// New check box state
BOOL bChecked =
(BOOL)(((pNMListView->uNewState & LVIS_STATEIMAGEMASK)>>12)-1);
if (bChecked < 0) // On non-checkbox notifications assume false
bChecked = 0;

if (bPrevState == bChecked) // No change in check box
return;
else
{
Sleep(10);//找到了!
}
}

//
vcmute 2005-08-30
  • 打赏
  • 举报
回复
OnItemChanged中判断uNewState & LVIS_STATEIMAGEMASK
goodboyws 2005-08-30
  • 打赏
  • 举报
回复
发错了,不好意思,同意happyparrot
goodboyws 2005-08-30
  • 打赏
  • 举报
回复
SendMessage(hWnd, WM_SETFONT, (WPARAM)hFont, 1);
j805 2005-08-30
  • 打赏
  • 举报
回复
还有没有更好的方法?
快乐鹦鹉 2005-08-30
  • 打赏
  • 举报
回复
先响应click事件,判断选中哪行

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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