如何实现对话框的一组单选钮关联一个bool变量同时每个单选钮又及关联一个CMFCbutton变量
在对话框中的一组单选钮,如果关联了一个BOOL变量后就不能再让其中的每个单选钮再关联一个CMFCButton变量了,我的目的是想利用CMFCButton来实现单选钮的图片显示,同时还能利用原来的BOOL变量指示当前是哪个单选钮被选中。请高手指点如何实现,非常感谢!
[解决办法]
对话框是通过在void DoDataExchange(CDataExchange* pDX);里面设置控件的关联变量.
我推测是在BOOL OnInitDialog()里调用的DoDataExchange.
如果你的动态创建控件代码是写在
CDialog::OnInitDialog();之后的话,程序就会崩溃.
所以你只需要把你的代码,例如:
void CxxDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CxxDlg)
DDX_Text(pDX, IDC_EDIT1, m_strText);
//}}AFX_DATA_MAP
}
BOOL CxxDlg::OnInitDialog()
{
edit.Create(ES_RIGHT, CRect(0,0,0,0), this, IDC_EDIT1);
CDialog::OnInitDialog();
}
[解决办法]
- C/C++ code
int m_bRadio;CButton m_button;void CXXXDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAAADlg) DDX_Control(pDX, IDC_RADIO1, m_bRadio); DDX_Radio(pDX, IDC_RADIO1, m_button); //}}AFX_DATA_MAP}