关于网友提出的“ 新手求助_单文档SDI弹出对话框问题”问题疑问,本网通过在网上对“ 新手求助_单文档SDI弹出对话框问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 新手求助_单文档SDI弹出对话框问题
描述: 我想在单文档中弹出一个对话框,我首先创建资源,加入类,最后在按钮的响应函数中弹出对话框。
可是,模态、非模态对话框均无法弹出。编译运行都没有错误出现,软件可以正常运行。我试过MessageBox()可以弹出。
请问有知道什么原因的吗?
软件运行时,点击对应按钮,在VS输出窗口会出现:Microsoft C++ 异常: 内存位置 0x001ee810 处的 CInvalidArgException * __ptr64
代码如下:
if(m_pGrabDlg==NULL)
m_pGrabDlg=new DlgGrabFrame;
if(m_pGrabDlg->Create(IDD_GrabFrame,NULL))
{ //这个函数体内的语句没有执行,应该是Create()失败了
printf("创建非模态对话框");
m_pGrabDlg->ShowWindow(SW_NORMAL);
m_pGrabDlg->UpdateWindow();
}
printf("结束");
// DlgGrabFrame dlg;
// dlg.DoModal();
解决方案1: AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
CReplayDlg replayDlg;
if(IDC_REPLAY_OK == replayDlg.DoModal())
{
}
解决方案2: if(m_pGrabDlg==NULL)
m_pGrabDlg=new DlgGrabFrame;
构造函数中 m_pGrabDlg=NULL;
以上介绍了“ 新手求助_单文档SDI弹出对话框问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2853610.html