1、模態對話方塊, 開啟後限制操作父視窗
void CMFCApplication1Dlg::OnBnClickedButton2() { // TODO: 在此新增控制元件通知處理程式程式碼 CDlgExeC exec; exec.DoModal(); }
呼叫DoModal即可完成。
2、非模態對話方塊,開啟後對任意視窗都無限制
void CMFCApplication1Dlg::OnBnClickedButton1() { // TODO: 在此新增控制元件通知處理程式程式碼 CDlgs s = new CDlgs; s.Create(IDD_SHOW); s.ShowWindow(SW_SHOW); }
針對非模態對話方塊,上述回撥函式會出現視窗一閃而過,其因為函式的結束而介紹對話方塊,所以需要將定義轉寫至對應標頭檔案當中,且建立視窗轉寫至OnInitDialog方法內,因為視窗只需要建立一次即可,每一次點選只需要展示視窗。