簡體   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