首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

【】调用dll中非模态对话框后,主对话框可以操作,但是一直在dll的对话框后面

2012-02-28 
【求助】调用dll中非模态对话框后,主对话框可以操作,但是一直在dll的对话框后面。我创建了一个MFC规则dll,其

【求助】调用dll中非模态对话框后,主对话框可以操作,但是一直在dll的对话框后面。
我创建了一个MFC规则dll,其中创建了一个对话框,在函数ShowDlg中非模态显示该对话框:
void ShowDlg()
{  
CUIMyDlg* m_pUIMyDlg = new CUIMyDlg;
if( NULL != m_pUIMyDlg)
{
m_pUIMyDlg->Create(IDD_DLG_MINE, NULL);
}
}
然后在MFC主对话框程序中调用ShowDlg,dll中对话框可以显示,主对话框也可以操作,但是一直在dll的对话框后面,请教各位大虾是怎么回事?

[解决办法]
CUIMainDlg *pDlg = new CDlgProgDlg();
m_pMainWnd = pDlg;
pDlg->Create(IDD_UIMAIN_DIALOG);
pDlg->ShowWindow(SW_SHOW);

return TRUE;

不过这样有两个问题,会有一个小小的内存泄漏,你给pDlg定义成成员变量就可以,
然后点确定的时候不会退出,用WaitForSingleObject的方法可以解决。

热点排行