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