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.其余三个按钮按照自己的意愿补充。编译运行。


你可能感兴趣的:(MFC)