其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
动态数据交换(DDX)的另类用法

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

        还是在写那个数据库应用的输入界面,在为对话框中的控件绑定变量时发现。如果给EDIT绑定CString的话虽然能使用MFC的动态数据效换,但是没办法去控制EDIT的行为。例如,我一开要让这些EDIT全被Disabled掉,只有在开打编辑状态后才能Enabled让操作者对EDIT的内容进行编辑。所以,如果给EDIT绑定CEDIT虽然能控制编辑框的行为但不能使用MFC的动态数据交换了。这样要自己写数据交换的功能会很麻烦。不过,可以采取给EDIT绑定一个CString又绑定一个CEDIT的办法来实现又能使用MFC的数据交换又可以控制EDIT的行为的目的。只是这样一来,每一个EDIT就会有两个成员变量与之对应。本来对话框中的EDIT就有很多,如此一来成员变量的数据更是翻倍。虽然这也没有什么,但我看着总是觉得不舒服。所以把主意打到了MFC的动态数据交换上来,我可不想重写新的DDX也不想写新的类。所以试着把DDX_Text()绑定的成员变量指向数据库类的中的RDX动态数据交换中由类向导生成的对应数据库字段的成员变量。这样一来,直接就与数据库类联系上了,在对话框中UpdateData()之后EDIT中的内容就直接传到数据库对应的字段变量中,再执行数据库类的UpData()就可以直接写入数据库。而不用像以前那样,先在对话框UpdateData()将更新内容交换到绑定的成员变量,再把这个成员变量的值赋给数据库类的字段变量。中间省去了很烦琐的东西。
        示列代码如下: DDX_Text(pDX, IDC_EDIT6, m_set->m_yxsj);
        要注意一点,如果数据库中有日期字段。绑定字段变量后要把对应这个日期字段的成员变量类型由CTime改为CString,不然这个字段不能在对话框的数据交换正确传送到EDIT中。 
        乱七八糟写了一堆,不知道有几个人能看明白。有时间再修改吧



相关文章

相关软件