Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 数据交换在CPropertyPage::OnOK中完成?_C++_Mfc_Dialog - Fatal编程技术网

C++ 数据交换在CPropertyPage::OnOK中完成?

C++ 数据交换在CPropertyPage::OnOK中完成?,c++,mfc,dialog,C++,Mfc,Dialog,我的对话框源自CPropertyPage 我已经重写了OnOK(),以便运行一些自定义检查。然而,在调用我的处理程序时,动态数据交换(DDX)似乎已经完成,并且我的类变量已经更新 我认为DDX是在调用CPropertyPage::OnOK()时发生的,我在处理程序的末尾执行此操作 此外,如果我的代码决定对话框不应关闭并返回而不调用CPropertyPage::ok(),则对话框仍将关闭 在DDX更新类变量之前,如何运行自定义检查 另外,默认情况下不再安装MFC源代码,并且没有任何安装选项提及MF

我的对话框源自
CPropertyPage

我已经重写了OnOK(),以便运行一些自定义检查。然而,在调用我的处理程序时,动态数据交换(DDX)似乎已经完成,并且我的类变量已经更新

我认为DDX是在调用
CPropertyPage::OnOK()
时发生的,我在处理程序的末尾执行此操作

此外,如果我的代码决定对话框不应关闭并返回而不调用
CPropertyPage::ok()
,则对话框仍将关闭

在DDX更新类变量之前,如何运行自定义检查

另外,默认情况下不再安装MFC源代码,并且没有任何安装选项提及MFC源代码。在谷歌搜索之后,我发现了上面提到的几个选项。我检查了它们,但仍然没有MFC源代码。

CPropertyPage::OnOK()
CDialogEx::OnOK()做的事情不同


属性页应该替代
CPropertyPage::OnKillActive()
。此方法允许我执行自定义验证并返回
FALSE
,而无需调用
CPropertyPage::OnKillActive()
,以防止对话框关闭或切换到另一个选项卡。

这些类型的检查由重写的。这就是你要找的吗?@1201programalam:这张支票更复杂。我将所选值与另一个值进行比较,然后查看该值是否存在于值列表中。如果我能用
OnOK()
编写代码,那就简单多了。