MFC分开无线电控制组

时间:2009-06-11 00:47:15

标签: winapi mfc radio-button

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

2 个答案:

答案 0 :(得分:7)

  1. 确保每个组中的第一个控件都设置了“Group”和“Tab Stop”属性。
  2. 确保每组中最后一个单选按钮后面的控件设置了“组”属性。
  3. 确保每组中的所有单选按钮ID都是连续的整数。
  4. 为每个组创建一个整数成员变量
  5. 在对话框的DoDataExchange方法中,为每个将整数变量链接到组中第一个ID的组添加DDX_Radio语句。
  6. 只要调用UpdateData(true)(由默认的OnOk()处理程序自动调用),就会从单选按钮设置整数变量,并且可以通过调用UpdateData(false)从变量设置单选按钮(自动发生)在默认处理OnInitDialog)

答案 1 :(得分:0)

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

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

您应该能够在Visual Studio对话框编辑器中创建单选按钮并运行“测试对话框”,并且它的两个组中的无线电组应该可以正常运行,而根本不需要任何代码。如果他们不这样做,那你就做错了。

我发现使用谷歌的this可能对您有帮助。