字体
第(2/5)页
关灯
   存书签 书架管理 返回目录


    {

    CDialog::DoDataExchange(pDX); //处理MFC 默认的数据jiāo换

    //下面的代码处理控件与控件变量之间的数据jiāo换,一般由MFC 自动添加

    //{{AFX_DATA_MAP(CLoginDialog)

    //处理控件IDC_LOGINNAME 和变量m_szLoginNcom 之间的数据jiāo换

    //DDX_Text 表明是进行文本数据jiāo换

    DDX_Text(pDX, IDC_LOGINNAME, m_szLoginNcom);

    //处理控件IDC_PASSWORD 和变量m_szPassword 之间的数据jiāo换

    DDX_Text(pDX, IDC_PASSWORD, m_szPassword);

    //}}AFX_DATA_MAP

    }

    MFC 提供了处理控件与控件变量之间的数据jiāo换的机制,因此在代码中访问控件的属

    xìng,就可以直接通过访问控件变量进行。如实例Sample4_1 运行时,打开登录对话框,在“用

    户名”输入框中输入字符串,通过CLoginDialog::DoDataExchange()函数,m_szLoginNcom

    就自动保存所有输入的字符串值,反之如果程序运行时修改了m_szLoginNcom,则通过

    CLoginDialog::DoDataExchange()函数,“用户名”输入框就会显示m_szLoginNcom 的值。

    这里需要注意,控件和控件变量之间的数据jiāo换并非自动完成的,即DoDataExchange()

    函数不是自动被调用的。例如在“用户名”输入框中输入字符串时,m_szLoginNcom 的值并

    不随之改变,需要调用CDialog::UpdateData()函数才能做到从控件到控件变量或者从控件变

    量到控件的数据传送。

    CDialog::UpdateData()函数的原型为:

    BOOL UpdateData(

    BOOL bSaveAndValidate = TRUE

    );

    bSaveAndValidate 参数用于指示数据传输的方向,TRUE 表示从控件传给变量,FALSE

    表示从变量传给数据。

    CDialog::UpdateData()函数的返回值用于确定cāo作是否成功,为FALSE 表示不成功。

    在实例Sample4_1 中,如果要通过控件变量访问“用户名”和“密码”两个输入框的输

    入值,可以用如下代码:

    UpdateData(); //参数默认值为TRUE,用于保存对话框的控件值

    //验证用户名和密码

    枫叶文学网www.fywxw.com

    第4 章 对话框

    ·71·

    if (m_szLoginNcom == "user" && m_szPassword == "test1234")

    {

    //验证通过,并提示用户

    ??

    }

    如果要设置“用户名”和“密码”两个输入框的值,则可以用如下代码:

上一页 目录 下一页