您的位置:首页 > 其它

对话框控件的变量绑定

2013-08-15 01:06 281 查看
DDX : Dialog Data Exchange 对话框数据交换
DDV : Dialog Data Validate 对话框数据校验

①、控件类型变量绑定的两种方法 - 数据交换机制:
◆ 利用 GetDlgItem 函数;
1、在头文件中声明变量类型 :CButton *m_Button;
2、在OnInitDialog中使用GetDlgItem函数
m_Button = (CButton *)GetDlgItem(IDC_BUTTON);
3、使用变量 m_Button->EnableWindow(FALSE);
◆ 利用 VC向导绑定;

1、在向导中添加变量名。

2、编译器会在头文件和 .cpp文件中添加如下代码:

头文件中添加 : CButton b_But_Lesson;
DoDataExchange函数中添加 : DDX_Control(pDX, IDC_BUTTON, b_But_Lesson);
3、使用变量 b_But_Lesson.EnableWindow(FALSE);
②、VC向导字符串类型、数值类型 变量的绑定
1、在向导中添加变量,选择对应的数据类型。
2、VC会生成如下代码:

头文件:CString m_Str_Edit;
CPP文件:

构造方法添加:, m_Str_Edit(_T(""))
DoDataExchange函数中添加: DDX_Text(pDX, IDC_EDIT1, m_Str_Edit);
----------------------------------------------------------------------------------
UpdateData(TRUE); //控件流向变量;
UpdateData(FALSE); //变量流向控件;

③、数据验证机制;
DoDataExchange函数中添加: DDV_MaxChars(pDX, m_Str_Edit, 5);
DDV 数据校验要与绑定变量组合使用,同时存在,可以使用VC向导添加代码,也可以手动添加代码。

④、MFC与SDK API中同名函数问题。

//SetDlgItemText(IDC_EDIT1,_T("123"));

//::SetDlgItemText(this->m_hWnd,IDC_EDIT1,_T("123"));

CWnd *m_cWnd = AfxGetMainWnd();
::SetDlgItemText(m_cWnd->m_hWnd,IDC_EDIT1,_T("123"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: