模式和非模式对话框均有以下步骤:
1、建立两个对话框
2、为需要弹出的对话框添加一个类CAboutDlg
3、再在按钮控件中添加如下代码
void CMy20161020Dlg::OnClickedButton1()
{
// 模式对话框
CAboutDlg dlg; //这里要注意包含添加的CAboutDlg类的头文件
dlg.DoModal();
}
void CMy20161020Dlg::OnBnClickedButton2()
{
// 非模式对话框 必须在堆内申请对象或者在成员变量内申请对象
chat *p=new chat();
p->Create(IDD_CHAT);
p->ShowWindow(SW_SHOW); // p->Create(IDD_CHAT,GetDesktopWindow()); 这样可使非模式对话框在任务栏中
}
void CMy20161020Dlg::OnBnClickedButton2()
{
// 非模式对话框 必须在堆内申请对象或者在成员变量内申请对象
if(!m_chat.m_hWnd) //判断句柄是否存在,若存在直接ShowWindow
m_chat.Create(IDD_CHAT,GetDesktopWindow());
m_chat.ShowWindow(SW_SHOW);
}