MFC_2.1使用单选和多选框
使用单选和多选框
单选
1.拖控件
设置名字,CTRL+D设置顺序,属性设置第一个GROUP为TRUE;
2.设置第一个按钮绑定变量为 值 INT型 名称m_RadioIndxe;
3.设置单击响应内容。
// 响应按钮点击的事件: 获取单选选项
void CDefaultDlg::OnBnClickedGetradiobutton()
{
// 1. 通过 Updatedata(TRUE) 获取控件的信息到绑定的变量
UpdateData(TRUE);
// 2. m_RadioIndex 保存的是以 0 为起始的当前选中项
CString RadioText;
GetDlgItemText(IDC_RADIO1 + m_RadioIndex, RadioText);
// 3. 弹出选中的单选项
MessageBox(RadioText);
// 4. 通过 UpdateData(FALSE) 重新设置新的选项
m_RadioIndex = 0;
UpdateData(FALSE);
}
多选框
1.拖复选框控件
2.设置绑定变量属性。值的设置BOOL类型。控件默认类型。tri的会默认控件类型。
3.ON_COMMAND_RANGE调用自定义的OnchecBox函数。
BEGIN_MESSAGE_MAP(CMFCApplication1Dlg, CDialogEx)
ON_COMMAND_RANGE(IDC_CHECK2, IDC_CHECK4, OnCheckBox)
END_MESSAGE_MAP()
// 多个多选按钮的响应函数,nId 表示响应的是哪个按钮
VOID CMFCApplication1Dlg::OnCheckBox(UINT nId)
{
// 当前选中了几项
int count = 0;
// 获取控件当前的状态到变量
UpdateData(TRUE);
// 检查当前的几个多选框是否被选中
if (m_CheckBoxA == TRUE)
count++;
if (m_CheckBoxCtrlB.GetCheck() == BST_CHECKED)
count++;
// 既有值类型又有控件类型,优先设置值类型
if (m_CheckBoxC == TRUE)
count++;
// 根据选中的项,设置三态复选框的状态
if (count == 0)
m_CheckBoxState.SetCheck(BST_UNCHECKED);
else if (count == 3)
m_CheckBoxState.SetCheck(BST_CHECKED);
else
m_CheckBoxState.SetCheck(BST_INDETERMINATE);
// 将变量设置到控件上
UpdateData(FALSE);
}
4.
// 根据当前的选中状态,修改其它的选项
void CDefaultDlg::OnBnClickedCheck4()
{
UpdateData(TRUE);
// 判断当前是否选各种
if (m_CheckBoxState.GetCheck() == BST_CHECKED)
{
m_CheckBoxA = m_CheckBoxC = TRUE;
m_CheckBoxCtrlB.SetCheck(BST_CHECKED);
}
else if (m_CheckBoxState.GetCheck() == BST_UNCHECKED)
{
m_CheckBoxA = m_CheckBoxC = FALSE;
m_CheckBoxCtrlB.SetCheck(BST_UNCHECKED);
}
UpdateData(FALSE);
}
5.显示被勾选的选项信息。
//UpdateData()用来更新信息。在自定义的OncheckBox函数调用了。
//如果没有调用的话,绑定值的控件会无法更新数据,会一直显示没有被勾上。
void CDefaultDlg::OnBnClickedButton2()
{
CString CheckString;
CString TempString;
// 检查当前的几个多选框是否被选中
if (m_CheckBoxA == TRUE)
{
GetDlgItemText(IDC_CHECK1, TempString);
CheckString += TempString + L" ";
}
if (m_CheckBoxCtrlB.GetCheck() == BST_CHECKED)
{
m_CheckBoxCtrlB.GetWindowTextW(TempString);
CheckString += TempString + L" ";
}
if (m_CheckBoxC == TRUE)
{
m_CheckBoxCtrlC.GetWindowTextW(TempString);
CheckString += TempString;
} // 输出选中的项
MessageBox(CheckString);
}
MFC_2.1使用单选和多选框的更多相关文章
- 使用 SVG 制作单选和多选框动画【附源码】
通过 JavaScript 实现 SVG 路径动画,我们可以做很多花哨的东西.今天我们要为您介绍一些复选框和单选按钮效果.实现的主要思路是隐藏原生的输入框,使用伪元素创造更具吸引力的样式,输入框被选中 ...
- php一些单选、复选框的默认选择方法(示例)
转载 http://www.php.cn/php-weizijiaocheng-360029.html 一. radio和checkbox及php select默认选择的实现代码 1.radio单选框 ...
- Python3+Selenium3+webdriver学习笔记8(单选、复选框、弹窗处理)
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记8(单选.复选框.弹窗处理)''' from selenium ...
- iCheck获取单选和复选框的值和文本
//获取单选和复选框的值//parameters.type:"radio","checkbox"//parameters.name:input-name//pa ...
- 纯css美化单选、复选框
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- mui单选和多选框
具体见代码: <!doctype html> <html> <head> <meta charset="UTF-8"> <ti ...
- selenium+Python(定位 单选、复选框,多层定位)
1.定位一组元素webdriver 可以很方便的使用 findElement 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用 findElements 方法.定位一组对象 ...
- android 中单选和复选框监听操作
单选按钮RadioGroup.复选框CheckBox都有OnCheckedChangeListener事件,我们一起了解一下. package com.genwoxue.oncheckedchange ...
- js单选和复选框
http://blog.csdn.net/chelen_jak/article/details/44827393 http://www.gbtags.com/technology/jquerynews ...
随机推荐
- hdu 5001 概率DP 图上的DP
http://acm.hdu.edu.cn/showproblem.php?pid=5001 当时一看是图上的就跪了 不敢写,也没退出来DP方程 感觉区域赛的题 一则有一个点难以想到 二则就是编码有 ...
- VC++ 模拟"CLICK事件"关闭指定窗体
今天改动一个工具时遇到一个有意思的问题,打开某个窗体时弹出一些不相关的窗体.须要用户自己去手动点击后才干继续.保证不了自己主动处理,如今解说决方案记录一下,例如以下 主要使用windows提供的Fin ...
- YTU 2677: 韩信点兵
2677: 韩信点兵 时间限制: 1 Sec 内存限制: 128 MB 提交: 61 解决: 38 题目描述 刘邦问韩信:"你觉得我可以带兵多少?"韩信:"最多十万. ...
- 利用JFreeChart生成时序图(6) (转自 JSP开发技术大全)
利用JFreeChart生成时序图(6) (转自 JSP开发技术大全) 14.6 利用JFreeChart生成时序图 通过JFreeChart插件只能生成普通效果的时序图,利用工厂类ChartFact ...
- Tarjan求桥
传送门(poj3177) 这道题是Tarjan求桥的模板题.大意是要求在原图上加上数量最少的边,使得整张图成为一个边双联通分量. 具体的做法是,先在图中求出所有的桥,之后把边双联通分量缩成点,这样的话 ...
- [noi.ac_D1T2]sort
https://www.zybuluo.com/ysner/note/1289967 题面 定义"翻转排序":每次操作均为把区间\([l,r]\)中所有数倒过来,即\(swap(a ...
- Java 泛型 三
一.泛型初衷 Java集合不会知道我们需要用它来保存什么类型的对象,所以他们把集合设计成能保存任何类型的对象,只要就具有很好的通用性.但这样做也带来两个问题: –集合对元素类型没有任何限制,这样可能引 ...
- bzoj 1671: [Usaco2005 Dec]Knights of Ni 骑士【bfs】
bfs预处理出每个点s和t的距离d1和d2(无法到达标为inf),然后在若干灌木丛格子(x,y)里取min(d1[x][y]+d2[x][y]) /* 0:贝茜可以通过的空地 1:由于各种原因而不可通 ...
- 【题解】TES-Intelligence Test
[题解]\(TES-Intelligence\) \(Test\) 逼自己每天一道模拟题 传送:\(TES-Intelligence\) \(Test\) \([POI2010]\) \([P3500 ...
- Asp.Net 开发实战技术
1.什么是WMI技术 WMI是一项核心的Windows管理技术,WMI作为一种规范和基础结构,通过它可以访问.配置.管理和监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程:设 ...