1) CDialog *pDlg = new CDialog;
2) if (pDlg->GetSafeHwnd())
{
pDlg->ShowWindow(TRUE);
}
else
{
pDlg->Create(IDD_DLG);
pDlg->ShowWindow(TRUE);
// pDlg->DoModal();
}
这样做的好处是,dialog对象中的数据不会再窗口关闭的时候被销毁,再一次打开窗口时,无需重新初始化和加载!
本文介绍了一种在MFC中复用对话框对象的方法,通过判断对话框句柄是否存在来决定是创建还是直接显示对话框,从而避免了每次打开都需要重新初始化的问题。
1) CDialog *pDlg = new CDialog;
2) if (pDlg->GetSafeHwnd())
{
pDlg->ShowWindow(TRUE);
}
else
{
pDlg->Create(IDD_DLG);
pDlg->ShowWindow(TRUE);
// pDlg->DoModal();
}
这样做的好处是,dialog对象中的数据不会再窗口关闭的时候被销毁,再一次打开窗口时,无需重新初始化和加载!

被折叠的 条评论
为什么被折叠?