MFC弹出非模态对话框 指针与对象

smiles_ 2009-03-09 11:43:17
CTestDialog *pTestDlg = new CTestDialog();
pTestDlg->Create(IDD_DIALOG_TEST, this);
pTestDlg->ShowWindow(SW_SHOW);
///下面三行错误
//CTestDialog dlg1;
//dlg1.Create(IDD_DIALOG_TEST, NULL);
//dlg1.ShowWindow(SW_SHOW);
为什么前三行不能用后三行代替?
用后三行,弹出的对话框闪了一下就消失了
用前三行能正确弹出对话框
...全文
101 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
smiles_ 2009-03-10
  • 打赏
  • 举报
回复
明白了,谢谢楼上两位
sualy0x61n 2009-03-09
  • 打赏
  • 举报
回复
上面三行中对象是NEW出来的,在堆上分配的空间,直到释放,它的生命周期才结束,而下面三行代码的生命周期到你调用方法后就结束了,所以一闪就没了~!
Allen_zhang 2009-03-09
  • 打赏
  • 举报
回复
注意一下他们的生命周期

前三行中对话框的生命周期是什么?

后三行中对话框的生命周期又是什么?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧