首先,单文档程序不能像基于对话框程序一样直接把CheckBox拖到主界面中,必须自己手动创建,即靠代码写出来。
其次,MFC没有CCheckBox类,只有CListBox 和 CCheckLIstBox类,后两者相比, CCheckLIstBox 比 CListBox 多了复选框,因此这儿我们需要用到 CCheckLIstBox类。
具体实现步骤如下:
(1)在某视图cpp 中添加 复选框的ID,比如: IDC_CHECK_LIST_BOX = 1400;
(2)在类成员中添加该类,比如:CCheckListBox m_checkListBox;
(3)手动添加消息映射,位置在 BEGIN_MESSAGE_MAP(xx, xx) 和 END_MESSAGE_MAP()之间,
比如:ON_CLBN_CHKCHANGE(IDC_CHECK_LIST_BOX, &xx::OnSelChangeCheckListBox)
(4)自定义消息响应函数,函数名就是 OnSelChangeCheckListBox,至于函数内容更具需要自己写,
其中需要用的函数有,m_checkListBox.GetCurSel(); // 选择一共有几个下拉菜单
m_checkListBox.GetCheck(iSel); // 获取第 iSel 行的状态,即选中或未选中
(5)在类成员方法中,声明上面的消息相应函数,比如:afx_