MFC之控件成员变量和UpdateData() |
您所在的位置:网站首页 › 思域18款10保值率 › MFC之控件成员变量和UpdateData() |
添加控件成员变量
DoDataExchange():此函数存放的就是控件和变量之间的映射消息。 MSDN: Called by the framework to exchange and validate dialog data. // 框架调用此函数来改写与确认对话框数据。 Never call this function directly. It is called by the UpdateData member function. Call UpdateData to initialize a dialog box’s controls or retrieve data from a dialog box. // 此函数永远不被直接调用,它只是呼叫UpdateData函数时才会被调用。 代码如下: void CCalculatorDialogDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CCalculatorDialogDlg) // NOTE: the ClassWizard will add DDX and DDV calls here //TODO: 添加m_strNum1变量与IDC_SHOW控件的关联 DDX_Text(pDX, IDC_SHOW, m_strNum1); //}}AFX_DATA_MAP }DDX宏 DDX_Text:可以理解为把字符串变量和控件的文本关联起来。 在字符串和edit box控件之间传输数据,变量类型可以是int,UINT,long,DWORD,CString,float,double,CString,BSTR,CComBSTR或者静态分配的字符串数组(详细查看MSDN),但是不能使用new动态分配的数组。 DDX_Check:在check box控件和int型变量之间转换check box控件的状态。 如复选框状态。 DDX_Control:可以理解为把变量和控件本身关联起来。 管理着在对话框、表格视或控件视中被子类化的控件与对话框、表格视或控件视的CWnd数据成员之间的数据交换。 UpdateData()UpdateData函数内部调用了DoDataExchange。该函数只有一个布尔型参数,它决定了数据传送的方向。调用UpdateData(TRUE)将数据从对话框的控件中传送到对应的数据成员中,调用UpdateData(FALSE)则将数据从数据成员中传送给对应的控件。 UpdateData(FALSE)是将变量的值传到控件,表示对话框正在初始化. UpdateData(TRUE)是从控件中取值到关联的变量, 表示数据正在获取 UpdateData(TRUE);//用于将屏幕上控件中的数据交换到变量中。 UpdateData(FALSE);//用于将数据在屏幕中对应控件中显示出来。当你修改了变量的值,希望对话框控件得到更新显示的时候,就应该在修改变量后调用UpdateData(FALSE); 如果你希望知道对话框中显示的值,就应该在访问变量前调用UpdateData(TRUE)。 //取值 UpdateData(TRUE); CString buf = m_Edit; //赋值 m_Edit = "ok!"; UpdateData(FALSE);
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |