非模态对话框重载了 PostNcDestroy()和 OnCancel(),但是销毁失败
对象指针不为NULL
对象指针不为NULL
解决方案 »
- 08编译的DLL不能在VS2010上调用?
- 我在基于对话框的MFC程序中,设置了一个static控件,想用来显示资源中的bitmap,并且在oninitialdlg中添加了代码,编译通过了,但总是debug中出问题,请大家看看
- 请问VC++的win32程序如何实现窗口震动?
- 50分求解:vc中创建对象时出现的"连接"错误
- CreateInstance处出错,怪,已经执行了AfxOleInit
- 线程传入参数的问题?
- 500提问:如何实现CString类型到LPBYTE类型的转化???请各位大侠指教!!!
- glMatrixMode()函数调用代价是否较高? 能够频繁调用?
- 我无法了!如何在局域网上找计算机(已知该计算机的名字)
- 获取其它进程listctrl的Item 值
- 一个 线程的问题,答案有价值就给分,给力的分
- DLL问题
只要在析构函数里把你对话框内分配的资源释放掉就可以了在外面delete 你的dialog
pDlg->Create(...);
pDlg->ShowWindow(SW_SHOW);
......
pDlg->DestroyWindow();
delete pDlg;
pDlg = NULL;
构造函数中初始化pDialog = NULL;
然后在父类中定义一个函数在ListControl右键弹出记录属性对话框//**********************************************************************
// 函数: OnFreightProperty
// 功能: 显示属性
//*********************************************************************
void CClientMain::OnFreightProperty()
{
//显示非模态属性对话框
if(pDialog != NULL)
pDialog->ShowWindow(SW_HIDE);
pDialog = new CFreightInfoProperty(&m_aFreightInfoModel);
pDialog->Create(IDD_FREIGHT_PROPERTY);
pDialog->ShowWindow(SW_SHOW);
}
当我在ListControl 中关闭属性对话框,而不关闭父窗口,再次右键弹出属性对话框时,出现了错误。BOOL CWnd::ShowWindow(int nCmdShow)
{
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL)); if (m_pCtrlSite == NULL)
return ::ShowWindow(m_hWnd, nCmdShow);
else
return m_pCtrlSite->ShowWindow(nCmdShow);
}
这是由于我销毁失败吗?如果是的, 应该在哪里销毁,怎么销毁,跪求解决实现