【问题标题】:MFC separate groups of radio controlsMFC 独立的无线电控制组
【发布时间】:2010-11-02 00:05:49
【问题描述】:

我在资源管理器的对话框布局中添加了 8 个单选按钮,但我无法将它们分成两组,每组 4 个按钮。我试图添加一个控制变量,但在向导的下拉菜单中看不到 CButton 选项。实现这个目标最简单的方法是什么?

【问题讨论】:

    标签: winapi mfc radio-button


    【解决方案1】:

    这个问题不是MFC问题,而是WIN32单选按钮问题。

    创建组时,Tab 顺序(创建顺序)很重要。您必须按照第一组然后第二组的顺序创建它们。每个组中的第一个单选按钮控件必须选择“组”样式。

    您应该能够在 Visual Studio 对话框编辑器中创建单选按钮并运行测试对话框,并且单选组应该可以在两个组中正常工作,而无需任何代码。如果他们不这样做,那么你做错了什么。

    我使用 google 找到了this,这可能会对您有所帮助。

    【讨论】:

    • 我已经阅读了您通过google找到的链接,但是阅读完文章后我仍然感到困惑。不过谢谢你的建议。我会看看它。
    【解决方案2】:
    1. 确保每个组中的第一个控件都设置了“组”和“制表位”属性。
    2. 确保每个组中最后一个单选按钮后面的控件设置了“组”属性。
    3. 确保每组中的所有单选按钮 ID 都是连续整数。
    4. 为每个组创建一个整数成员变量
    5. 在对话框的 DoDataExchange 方法中,为每个组添加一个 DDX_Radio 语句,将整数变量链接到组中的第一个 ID。

    每当调用 UpdateData(true) 时(由默认 OnOk() 处理程序自动调用),整数变量将从单选按钮设置,并且可以通过调用 UpdateData(false) 从变量设置单选按钮(自动发生在 OnInitDialog 的默认处理中)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      相关资源
      最近更新 更多