基于MFC单文档程序的CheckBox运用
来源:互联网 发布:类似于沙盘的软件 编辑:程序博客网 时间:2024/04/29 11:38
首先,单文档程序不能像基于对话框程序一样直接把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_msg void OnSelChangeCheckListBox();
(6)当然还差最重要的一步,就是自己要创建这个CCheckListBox类,利用Create 函数,也很简单,一般放在OninitialUpdata中,比如:
m_checkListBox.Create(LBS_HASSTRINGS | LBS_OWNERDRAWFIXED | WS_CHILD | WS_VISIBLE, CRect(10, iPanelHead + 30, 100, iPanelHead + 75), this, IDC_CHECK_LIST_BOX);
同时添加这个list中的内容,比如:
m_checkListBox.AddString(" A");
m_checkListBox.AddString(" B");
(7)大功告成了!
我的程序实在Visual Studio2015中开发的,我想VS2008之后应该都包含以上的函数,也即是都可以按照我的流程实现的。
最后我再附图一张:
- 基于MFC单文档程序的CheckBox运用
- 基于文档的MFC程序
- 基于MFC单文档的PCL显示
- MFC 删除单文档程序的菜单栏
- MFC 单文档程序的运行过程
- MFC基于单文档制作吹彩色泡泡程序
- 在MFC下使用OpenGL的一个简单的例子(基于单文档程序)
- 基于MFC单文档SDI的OpenGL图形程序的基本框架
- 基于VS2005的MFC应用程序中(单文档)建立按键响应程序的方法
- 基于MFC单文档的汉诺塔动画演示程序,手动输入盘子数
- 基于MFC的单文档,多文档,对话框应用程序
- MFC单文档程序流程
- 修改基于formView的MFC单文档背景颜色
- VC MFC基于单文档的皮肤更换
- MFC基于单文档菜单栏调用对话框的实现
- MFC基于单文档写unicode的文件
- mfc 单文档程序删除菜单的方式。
- MFC单文档程序类之间的变量访问
- 分析能力提高篇一:对于脱欧后的英国,后悔药的四种吃法。
- 线程与进程的区别归纳
- 图解Linux命令之--less命令
- Android 双曲线波浪动画(第一发)
- c++ cin.getline, getline等比较
- 基于MFC单文档程序的CheckBox运用
- openstack----01_安装虚拟机
- 【Database】应用
- 设计模式之单例模式
- 如何卸载centos图形界面,并且可以开机直接进入文本界面
- Handler的post(Runnable)
- Java中对于所有对象都通用的方法之——equals
- Linux调度器内幕
- C++学习第一篇