模式对话框与非模式的对话框

//两种方法: 1:member variable
void CMyDlg::OnButton1() 
{
/*CAboutDlg aboutdlg;//临时的变量一创建就会消失
aboutdlg.Create(IDD_DIALOG1);
aboutdlg.ShowWindow(SW_SHOW);*/
if(!aboutDlg.GetSafeHwnd())
aboutDlg.Create(IDD_DIALOG1,GetDesktopWindow());
else
aboutDlg.ShowWindow(SW_SHOW);
//aboutDlg.ShowWindow(SW_HIDE);




}
//两种方法: 2:new
void CMyDlg::OnButton2() 
{
CAboutDlg *p=new CAboutDlg;//在堆上创建对话框
p->Create(IDD_DIALOG1,GetDesktopWindow());//GetDesktopWindow获取桌面的句柄
p->ShowWindow(SW_SHOW);//获取句柄显示窗口
}


void CMyDlg::OnButton3() 
{
/*CChatDlg dlg;
dlg.DoModal();*/
if(!chatdlg)
chatdlg.Create(IDD_DIALOG2,GetDesktopWindow());
chatdlg.ShowWindow(SW_SHOW);
}


void CMyDlg::OnButton4() 
{
CChatDlg *p=new CChatDlg;
p->Create(IDD_DIALOG2,GetDesktopWindow());
p->ShowWindow(SW_SHOW);
}

你可能感兴趣的:(MFC)