MFC—— 控件数据交换:DDX

来源:互联网 发布:sqllite接受数据 编辑:程序博客网 时间:2024/05/22 06:23
        在MFC学习中,知道如何创建控件并对控件进行id和caption的修改后,就需要我们去了解并熟悉如何操纵控件,下面是操作控件的两种方式:
   (1) 通过调用CWnd::GetDlgItem()函数,根据控件ID获取控件对象指针,操作控件即可,对话框的初始化函数:OnInitDialog()
   
   (2)对话框的数据交换技术(DDX) 
   将控件和一个成员变量绑定,可以通过操作成员变量达到操作控件的目的。

   1 定义与控件绑定的成员变量:右击编辑框,选择添加变量即可;也可以在类的向导中选择添加变量完成绑定

    

   2 在对话框中添加DoDataExchange()函数,在函数中完成控件
     与变量的绑定。
     DDX_Control()//控件类型的绑定

     DDX_Text()//值类型的绑定

   

   3 通过成员变量完成对控件的操作 
   4 值类型的绑定,还需要调用UpdateData(BOOL)函数
     UpdateData(TRUE)- 控件中的值传赋值变量(接收)

     UpdateData(FALSE)-将变量的值显示到控件上

   

    对于DDX_Control函数的简介如下,这个函数在你创建变量时会自动给你生成:
    void AFXAPI DDX_Control( CDataExchange* pDX, int nIDC, CWnd& rControl );

参数: pDX是 指向CDataExchange对象的指针。这种结构为指定对象提供了建立数据交换的环境,也包括结构的指向。
nIDC 子控件类的资源ID继承控件的属性。
rControl 对对话框成员变量的一个引用,形成视图资源,或者控制数据被交换的视图对象。
说明:
DDX_Control函数管理着在对话框、表格视或控件视中被子类化的控件与对话框、表格视或控件视的CWnd数据成员之间的数据交换。

0 0