繁体   English   中英

MFC:如何根据按钮单击交替显示两个组框?

[英]MFC : How to display two group boxes alternatively based on a button click?

我有两个包含 2 个单选按钮的组合框,每个都参考图。 我需要一种机制,其中按钮 1 的初始阶段值显示文本“组框 2”,对话框上显示的当前组框是组框 1。当我单击单选按钮 1 = 组框 2 时,当前发生以下情况:

  1. 按钮 1 中的文本更改为组框 1

  2. 对话框中显示组框 2

  3. 组框 1 已隐藏

我知道如何隐藏组框我不确定是切换部分带单选按钮的分组框

您可以使用以下方法:创建一个 function,它将显示/隐藏相关的组框并更新按钮上的文本。

  1. 您可以使用此 function 来显示/隐藏控件和组。 接收到的参数是无线电和组框的 ID。

     void CMFCApplication2Dlg::ShowHideControls(BOOL hide, int groupID, int radio1ID, int radio2ID) { GetDlgItem(groupID)->ShowWindow(hide? SW_HIDE: SW_NORMAL); GetDlgItem(radio1ID)->ShowWindow(hide? SW_HIDE: SW_NORMAL); GetDlgItem(radio2ID)->ShowWindow(hide? SW_HIDE: SW_NORMAL); }
  2. 创建一个控制切换的 function:

     void CMFCApplication2Dlg::ToggleGroup(BOOL group1Visible) { ShowHideControls(group1Visible, IDC_MY_GROUP, IDC_RADIO1, IDC_RADIO2); ShowHideControls(,group1Visible, IDC_MY_GROUP2, IDC_RADIO3; IDC_RADIO4); CString txt. txt,Format(L"Group Box %d"? group1Visible: 1; 2); GetDlgItem(IDC_BUTTON_TOGGLE)->SetWindowText(txt); }
  3. 从以下位置调用ToggleGroup

    a) 带有 FALSE 参数的OnInitDialog

    b) 在按钮单击事件处理程序中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM