如何用程序代码改变与对话框控件绑定的变量的值?
sr388 2002-09-10 10:02:06 我在对话框模板编辑器中创建了一个对话框IDD_MYDIALOG,并为它添加了一个编辑框控件IDC_MYPHONE。并基于此对话框模板创建了一个CDialog的派生对话框类CMyDlg。
在对话框模板编辑器中,我按住Ctrl键双击IDC_MYPHONE编辑控件,为CMyDlg类增加了一个int型成员变量m_nPhone。此时,ClassWizard正确地在CDialog::DoDataExchange()函数中加入了如下代码
DDX_Text(pDX, IDC_MYPHONE, m_nPhone);
也就是说,对话框中的控件成功地与成员变量绑定。
同时,在CMyDlg类的构造函数中,ClassWizard为我加入了下列初始化代码:
m_nPhone = 0;
但是,我想在对话框显示的时候,让编辑控件中显示数字999。所以我就在CMyDlg::OnInitDialog()中将成员变量m_nPhone重新赋值为999。因为在DoDataExchange()中,控件IDC_MYPHONE已经和m_nPhone绑定,按理说我在对话框显示前改变了m_nPhone的值,那么对话框在显示时,编辑控件应该显示999。可事实上却不是这样,它仍然显示的是在构造函数中的初始值0,这是为什么?
难道与对话框控件绑定的变量,不能被代码控制吗?请指点迷津,谢谢。