在对话框中进行数据交换和数据检查

旗袍小姐920

旗袍小姐920

2016-02-19 12:20

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的在对话框中进行数据交换和数据检查,过去的都会过去,迎接崭新的开始,释放更美好的自己。

MFC提供两种方法在对话框中进行数据交换和数据检查(Dialog data exchange/Dialog data validation),数据交换和数据检查的思想是将某一变量和对话框中的一个子窗口进行关联,然后通过调用BOOL UpdateData( BOOL bSaveAndValidate = TRUE )来指示MFC将变量中数据放入子窗口还是将子窗口中数据取到变量中并进行合法性检查。

在进行数据交换时一个子窗口可以和两种类型的变量相关联,一种是控件(Control)对象,比如说按钮子窗口可以和一个CButton对象相关联,这种情况下你可以通过该对象直接控制子窗口,而不需要象上节中讲的一样使用GetDlgItem(IDC_CONTROL_ID)来得到窗口指针;一种是内容对象,比如说输入框可以和一个CString对象关联,也可以和一个UINT类型变量关联,这种情况下你可以直接设置/获取窗口中的输入内容。

而数据检查是在一个子窗口和一个内容对象相关联时在存取内容时对内容进行合法性检查,比如说当一个输入框和一个CString对象关联时,你可以设置检查CString的对象的最长/最小长度,当输入框和一个UINT变量相关联时你可以设置检查UINT变量的最大/最小值。在BOOL UpdateData( BOOL bSaveAndValidate = TRUE )被调用后,合法性检查会自动进行,如果无法通过检查MFC会弹出消息框进行提示,并返回FALSE。

设置DDX/DDV在VC中非常简单,ClassWizard可以替你完成所有的工作,你只需要打开ClassWizard并选中Member Variables页,如图,<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

你可以看到所有可以进行关联的子窗口ID列表,双击一个ID会弹出一个添加变量的对话框,如图,

填写相关的信息后按下确定按钮就可以了。然后选中你刚才添加的变量在底部的输入框中输入检查条件,如图。

下面我们看一个例子,对话框上的子窗口如图设置,各子窗口的ID和关联的变量如下表:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

ID

关联的变量

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

作用

IDC_CHECK_TEST

BOOL m_fCheck

检查框是否被选中

IDC_RADOI_TEST_1

int m_iSel

当前选择的圆形按钮的索引

IDC_COMBO_TEST

CString m_szCombo

组合框中选中的文本或是输入的文本

IDC_EDIT_TEST

CString m_szEdit

展开更多 50%)
分享

猜你喜欢

在对话框中进行数据交换和数据检查

编程语言 网络编程
在对话框中进行数据交换和数据检查

在对话框中进行消息映射

编程语言 网络编程
在对话框中进行消息映射

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在对话框程序中插入DialogBar

C语言教程 C语言函数
在对话框程序中插入DialogBar

XML Web Service 数据交换

电脑网络
XML Web Service 数据交换

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在对话框中动态显示位图

编程语言 网络编程
在对话框中动态显示位图

Excel和Access之间的数据交换

编程语言 网络编程
Excel和Access之间的数据交换

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

文档视框架之间相互作用

文档视框架之间相互作用

Combo Box

Combo Box
下拉加载更多内容 ↓