MFC實現子對話方塊間切換。
1.新建MFC工程zidlg,新增四個對話方塊資源,分別為它們新建類CChildDlg1,CChildDlg2,CChildDlg3,CChildDlg4。設定每個對話方塊的style為child型。
2.在zidlg標頭檔案中加入四個類的標頭檔案,併為他們新增類的物件 dlg1,dlg2,dlg3,dlg4。
3.在主對話方塊中新增四個button(分別控制每個對話方塊的調出),為它們設定控制變數bt1,bt2,bt3,bt4.
4.在主對話方塊BOOL CzidlgDlg::OnInitDialog()函式中補充程式碼
bt1.EnableWindow(FALSE); //HWND hwnd; //hwnd.FindWindow(CChildDlg1,IDD_DIALOG1); dlg1.Create(dlg1.IDD, this); dlg1.SetWindowPos(NULL, -1, 50, 20000,300000, SWP_NOZORDER | SWP_NOACTIVATE); dlg1.ShowWindow(SW_SHOW); dlg2.Create(dlg2.IDD, this); dlg2.SetWindowPos(NULL, -1, 50, 20000,300000, SWP_NOZORDER | SWP_NOACTIVATE); dlg2.ShowWindow(SW_HIDE); dlg3.Create(dlg3.IDD, this); dlg3.SetWindowPos(NULL,-1, 50, 20000,300000, SWP_NOZORDER | SWP_NOACTIVATE); dlg3.ShowWindow(SW_HIDE); dlg4.Create(dlg4.IDD, this); dlg4.SetWindowPos(NULL, -1, 50, 20000,300000, SWP_NOZORDER | SWP_NOACTIVATE); dlg4.ShowWindow(SW_HIDE);
5.在button1點選事件中寫入
bt1.EnableWindow(FALSE);
bt2.EnableWindow(TRUE);
bt3.EnableWindow(TRUE);
bt4.EnableWindow(TRUE);
dlg1.ShowWindow(SW_SHOW);
dlg2.ShowWindow(SW_HIDE);
dlg3.ShowWindow(SW_HIDE);
dlg4.ShowWindow(SW_HIDE);
6.其餘三個按鈕按照自己的意願補充。編譯執行。