visual-studio - MFC "Warning: skipping non-radio button in group."

标签 visual-studio mfc warnings

在 Visual Studio 的调试器中运行旧的 MFC 应用程序时,我在“输出”窗口中看到了很多警告,如下所示:

Warning: skipping non-radio button in group.

据我了解,在 MFC 中,您将单选按钮分组以指示哪些单选按钮组放在一起。如果我没记错的话,您可以通过将第一个单选按钮的“group”属性设置为 true 来完成此操作,然后将其余单选按钮的“group”属性设置为 false。

我对此警告有三个疑问。

  1. 如何消除此警告?做 你必须设置所有的“组”属性 非单选按钮控件为 true to 避免这种情况,或者你应该设置 它用于之后的第一个控制 最后一个单选按钮?

  2. 有没有简单的方法可以计算 哪些控件或对话框存在此问题? 我可以打开每个对话框并 摆弄它直到出现警告 弹出。这个应用程序有很多 对话框,所以它会是 如果有更简单的方法就好了。

  3. 如果出现以下情况,可能会出现哪些负面行为 你不修复这个警告吗?其他 换句话说,这还重要吗?

最佳答案

在此处的回复和旧论坛中的一些研究之间,我想我至少已经弄清楚如何解决我的问题。以下是我对上述问题的发现。

  1. ChrisN 和 Smashery 建议我重新排序选项卡,以确保单选按钮按顺序排序,这确实修复了一些警告。

    此外,单选按钮组之后按选项卡顺序排列的第一个控件必须设置 WS_GROUP 属性(或在编辑器中将组属性设置为 true)。这告诉 MFC 单选按钮组已结束。如果没有它,在下一个 WS_GROUP 之前,选项卡顺序中的所有剩余控件都会生成警告。完成这两项操作后,这些对话框中的警告就消失了。

  2. 这仍然是一个悬而未决的问题,我没有找到一个好的方法来定位这些问题,而无需打开每个对话框并等待警告。

    如果您知道某个对话框正在创建此警告,但不知道是什么控件导致它,则可以在生成警告的 TRACE() 调用上的 DDX_Radio() 函数中设置断点。这可以更轻松地识别被投诉的特定控件。

  3. 我同意 ChrisN 的观点,除了让您仔细检查 Tab 键顺序之外,我想不出此警告的任何原因。在网上的其他地方,我找不到任何其他关于这可能导致的问题的引用。

关于visual-studio - MFC "Warning: skipping non-radio button in group.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/130496/

相关文章:

visual-studio - 是否可以在不将项目添加到解决方案的情况下引用其他项目中的 typescript 文件?

c++ - 自动构建 ID

c++ - 在使用时以编程方式弹出 USB 设备

c++ - C/C++ 编译器的最佳编译器警告级别?

ios - 将项目转换为 ARC 后 xCode 提示

visual-studio - Visual Studio 有选择地将多行代码转换为单行 - ReSharper?

c# - Windows 窗体应用程序错误与 Crystal 报表

c++ - CMFCColorButton 上的颜色更改通知?

c++ - 有什么方法可以检索 CEditBox 中文本的文本高度(以像素为单位)?

linux - 加载警告 : cannot find entry symbol _start