在一个按钮的消息响应函数中定义了一个对话框(CMydlg *pDlg = new CMyDlg)指针,然后用Create()创建了一个非模态对话框,我需要在按钮函数退出的时候delete这个指针吗?
解决方案 »
- 一个工作区里运行两个过程的问题(也就是MFC网络编程14)
- 怎么用键盘钩子截获Ctrl+C和Ctrl+V
- 在线等500分求救:谁先解决全给他。监听套接字在运行较长时间后accept出现10038错误
- LIST控件获得列名
- MFC程序里,用DirectShow可以播放mp3文件吗?
- 初学winpcap遇到的问题,运行错误!
- VC新手:如何让EDIT控件随窗口大小改变而改变
- CCheckListBox有没有对应的控件,怎么用?
- 求教:如何将剪切板内容复制到CString中
- 有关抓获视图、文档的内容,再送端口的问题!
- socket数据分包传送问题
- 如果得到2000/XP的桌面句柄??使用GetDesktopWindow函数只能得到WIN98的桌面句柄,在线等
如果已经关闭了,就delete
没有的话,等关闭时delete
{
CMyDlg *pDlg = new CMyDlg;
pDlg->Create(...);
...........
delete pDlg;//如果在这里调用那么我就看不到对话框上的内容了,一闪就没有了
}
在这里显然点击按钮是为了呼出对话框,如果点击完了就delete,那么弹出的对话框就被释放了,当然就没了。所以你什么时候要销毁这个对话框,什么时候再delete。
不就可以任意在那里删除了
在CMyDlg 类里面
void CMyDlg ::OnOK()
{
CDialog::OnOK();
CDialog::DestroyWindow();
}void CMyDlg ::OnCancel()
{
CDialog::OnCancel();
CDialog::DestroyWindow();
}void CMyDlg ::OnDestroy()
{
CDialog::OnDestroy();
delete this;
}