MFC CListCtrl中的CHeckBox状态捕捉,实现单选

本文介绍如何在MFC的CListCtrl中利用CheckBox功能实现单选操作。通过响应LVN_ITEMCHANGED消息,确保始终只有一个CheckBox被选中,解决了NM_CLICK可能导致的未选中状态问题。
摘要由CSDN通过智能技术生成

MFC控件CListCtrl的CheckBox实现单选

CListCtrl的CheckBox功能使用

最近在公司的老软件中新加一个功能,其中涉及到用MFC绘制一个对话框,添加一个CListCtrl实现一个简单的选择切换。通过CListCtrl的扩展属性,使添加的项都为CheckBox。不过在CListCtrl中的CheckBox并不是真正的控件,勾选只不过是在两个image之间进行切换。
功能的具体需求是要始终保持有且仅有一个CheckBox处于被勾选转态。一开始做是通过响应NM_CLICK鼠标点击消息进行处理,可以实现单选功能,但是会出现没有勾选的情况。后来通过响应LVN_ITEMCHANGED状态改变消息实现了功能。
代码如下:

ON_NOTIFY(LVN_ITEMCHANGE, IDC_MYLIST, &CMyDlg::ChangParamGroup)

具体函数:

void CMyDlg::ChangeParamGruop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值