需求描述:Visual Studio 创建的界面程序中又许多 Radio Button,希望这些所有的Radio Button统一绑定到一个变量上,这个变量一旦改变,Radio Button的选中状态会相应的改变。
实现方法:在DoDataExchange函数中: DDX_Radio(pDX, IDC_RADIO1, m_nRadio1);函数
具体方法(以3个Radio Button为例):
1.三个Radio Button,ID分别为:IDC_RADIO1, IDC_RADIO2, IDC_RADIO3;(三个ID值需要连续递增, 三个Tab值也是连续递增)
2.设置Radio Button的Tab键顺序,具体方法:图形设计界面中,工具栏“格式”—>“Tab键顺序”选项选中,然后按照想要设定的次序,依次点击对话框上面的RadioButton按钮。
3.设置IDC_RADIO1的Group属性为true,其他Radio Button的Group属性都设置为false
4.h文件中声明 变量和 重新声明DoDataExchange函数:
int m_medium;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
5.cpp文件中,重新实现DoDataExchange函数,连接变量:
void CMediumFrom::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Radio(pDX, IDC_RADIO1, m_medium);
}
效果:
1.m_medium变量值改变后,(执行UpdateData函数后)radio button组的选中状态改变。
m_medium=1;
UpdateData(false);
2.radio button组的选中状态改变后,(执行UpdateData函数后),m_medium变量值自动改变。
UpdateData(TRUE);
if(m_medium!=-1)
{}
---------------------
作者:少安的砖厂
来源:CSDN
原文:https://blog.csdn.net/qq_28093585/article/details/78608270
版权声明:本文为博主原创文章,转载请附上博文链接!