动态数据交换(DDX)的另类用法

        还是在写那个数据库应用的输入界面,在为对话框中的控件绑定变量时发现。如果给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);
        注意点1:如果数据库中有日期字段。绑定字段变量后要把对应这个日期字段的成员变量类型由CTime改为CString,不然这个字段不能在对话框的数据交换正确传送到EDIT中。 
        注意点2:类向导并不支持这样的另类用法,所以当你做了以上修改后再打开类向导。会问你要不要删掉这些错误的绑定。而此时你要用到类向导的话可以暂时先把绑定部份给剪切掉,在类向导里干完活后再粘贴回来。
        注意点3:因为绑定的成员变量来自数据集类中绑定的字段变量,而DDX在对话框或视图在创建和退出时都会调用。所以要在之前和之后把绑定的数据集类实例化,不然会引起显非法内存访问。所以,最好在视图或对话框的构造和析构函数中new和delete数据集类。
        乱七八糟写了一堆,不知道有几个人能看明白。有时间再修改吧
DDX很有用,用它重新计算DDX后的一大发现,让人着实兴奋不已,现提供图表给大家看一下, 用HprSnap6软件可以打开看,我将4月16日的所有股票都用图表显示,可以看到正确性在98以上, 注意左的图中的线(不是矩形,而是单根的线),跌时5天前已经全在上方很久,涨时5天前就在 下方很久了。本图是用VBA编的,VBA太有用了。 图是以涨幅降序排列的,共二张图,右边写的是涨幅,要看的是左边的图,百分之98的正确。 希望大家对DDX多加研究的话,定有惊喜的收获的。 另外,本人用模糊分析的方法得到的大单重要性的初步结果是如下:好象符合实际。 ddx 7.507214709 小单差% -2.611936371 特大差% -4.118645137 特大买入% -4.470760296 特大差量 -6.141661167 单数比 -6.35653337 特大卖出% -6.414990299 强度 -6.643649985 小单卖出% -7.158680792 大特累计 -8.274703516 60日ddy -8.440081804 大单卖出% -9.459333104 大单买入% -10.01915699 小单买入% -10.70956148 大单差% -10.72609128 ddz -11.10892985 买单均手 -11.30064578 60日ddx -11.56574557 中单差量 -11.62611809 活跃 -11.71759307 中单买入% -11.84260611 小单累计 -12.0672123 卖单均手 -12.19972861 中单差% -12.41499139 小单差股 -14.41325469 中单卖出% -14.51495897 大单差量 -14.56020615 小单差量 -14.65446439 ddy -15.23886754 量比 -16.46188466 次 -16.86515806 涨幅 -17.97181076 买入单数 -19.37005172 资金强度 -19.60573475 卖出单数 -19.85060378 换手率% -21.07516064
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值