【发布时间】:2017-03-11 00:09:08
【问题描述】:
我有一个带有 4 个按钮组的单选按钮对话框。
DoDataExchange 中的DDX_Radio(pDX, D_RADIO_GROUPLEAD, intToStore) 用于保存和加载。
它工作得很好。
选择更改,调用 DoDataExchange,存储和加载数据没有问题。
当我隐藏其中一个单选按钮时出现问题(通过ShowWindow(SW_HIDE) 隐藏它。我们将其称为第三个按钮以供参考。之前,选择是第三个按钮。
我的逻辑会自动选择默认值(在编辑器中将 Group 标记为 true)。我调用按钮的 SetCheck(1)。
从视觉上看,一切似乎都在工作。
但是,当我单击第二个按钮,然后尝试调用 DoDataExchange(因此是 DDX_Radio)时,会导致调试断言失败。 (dlgdata.cpp 第 286 行)
与
数据未正确填充回intToStore。
为什么会这样?我该如何避免这个问题?
谢谢。
【问题讨论】:
-
你的代码在哪里?如果您不提供违规代码,我们如何回答您的问题?您是否查看了 dlgdata.cpp 第 286 行的代码?这可能会给你一个提示。