MFC非模式对话框与主框架显示前后问题

来源:互联网 发布:淘宝几天自动确认收货 编辑:程序博客网 时间:2024/06/11 14:08
非模态实现代码如下: 
CXXXXDlg *dlg = new CXXXXDlg; 
dlg-> Create(IDD_XXXX_DIALOG, NULL); 
dlg-> ShowWindow(SW_SHOW); 

解决办法是: 
建立非模式对话框时Create的第二个参数用GetDesktopWindow(), 
m_pDlg-> Create(IDD_,GetDesktopWindow()); 

现在有出现了一个问题:系统的任务栏上出现了非模式对话框的图标,好像该对话框和父窗口是两个应用。解决的办法是: 
1 定义对象 CWnd *m_pWnd,该对象的父窗口为GetDesktopWindow,设置该对象ShowWindow(SW_HIDE); 
2 将非模式对话框的父窗口设置为m_pWnd。