MFC 點擊按鈕顯示和隱藏對話框


例子為非模態對話框,ID為ID_MODELESS,為其創建一個類:CModelessDlg

在父對話框(ID_FIRSTUI)的相應按鈕寫上事件(以IDCANCEL為例):

void CFirstUIDlg::OnBnClickedCancel()
{    
    if (pDlg == NULL)
    {
        // 指針為空則創建非模態對話框並顯示
        pDlg = new CModelessDlg;
        pDlg->Create(IDD_MODELESS, this);
        pDlg->ShowWindow(SW_SHOW);
    }
    else
    {
        // 判斷對話框可見狀態,可見點擊后隱藏,隱藏則點擊可見
        BOOL bVisible = pDlg->IsWindowVisible();
        int nCmdShow = bVisible ? SW_HIDE : SW_SHOW;
        pDlg->ShowWindow(nCmdShow);
    }
}

注:

  1、pDLG在父對話框的頭文件中定義CModeless *pDlg;
  2、使用IsWindowVisible()時,需要指明對象。否則會導致指向當前對話框。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM