vc++6.0 点击radio button 值不改变的问题
我想每点击一次,radiobutton的状态就改变一次,不知道如何实现?比如原先是未选中庄态,点击一次后就变成选中状态,如此循环...
我想每点击一次,radio button的状态就改变一次,不知道如何实现?比如原先是未选中庄态,点击一次后就变成选中状态,如此循环
展开
1个回答
展开全部
一般的radio button 都是默认的为 auto,在同为一组的时候点另一个会取消先前选中的那个。
若要实现你所说的过程,需要取消 auto 属性。
再为你的这个radio button 添加一个 CButton 类的变量,假设ID为ID_RADIO1,变量名为m_radio1。
不过通过类向导好像无法添加,这时可以手动添加:
1.在头文件中这个位置添加声明
// Dialog Data
//{{AFX_DATA(CTestDlg)
enum { IDD = IDD_TEST_DIALOG };
CButton m_radio1;//手动添加的部分
//}}AFX_DATA
2.在CPP文件中的DoDataExchange函数中添加如下代码:
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTestDlg)
DDX_Control(pDX, IDC_RADIO1,m_radio1);//手动添加的部分
//}}AFX_DATA_MAP
}
这时就为你的 radio button 关联了一个变量
然后为你的这个控件通过类向导添加一个BN_CLICKED消息响应
在函数中添加以下代码:
void CTestDlg::OnRadio1()
{
// TODO: Add your control notification handler code here
if (m_radio1.GetCheck()==0)
m_radio1.SetCheck(1);
else
m_radio1.SetCheck(0);
}
原理是这样的:
获得它的选中状态,若为选中,则不选中它;反之类似。
若要实现你所说的过程,需要取消 auto 属性。
再为你的这个radio button 添加一个 CButton 类的变量,假设ID为ID_RADIO1,变量名为m_radio1。
不过通过类向导好像无法添加,这时可以手动添加:
1.在头文件中这个位置添加声明
// Dialog Data
//{{AFX_DATA(CTestDlg)
enum { IDD = IDD_TEST_DIALOG };
CButton m_radio1;//手动添加的部分
//}}AFX_DATA
2.在CPP文件中的DoDataExchange函数中添加如下代码:
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTestDlg)
DDX_Control(pDX, IDC_RADIO1,m_radio1);//手动添加的部分
//}}AFX_DATA_MAP
}
这时就为你的 radio button 关联了一个变量
然后为你的这个控件通过类向导添加一个BN_CLICKED消息响应
在函数中添加以下代码:
void CTestDlg::OnRadio1()
{
// TODO: Add your control notification handler code here
if (m_radio1.GetCheck()==0)
m_radio1.SetCheck(1);
else
m_radio1.SetCheck(0);
}
原理是这样的:
获得它的选中状态,若为选中,则不选中它;反之类似。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询