向高手求教,急急,关于非模态对话框的一个简单的问题

hehuawei8527367 2003-06-13 07:24:55
我在对话框生成的类中加入creat()函数(BOOL型)
return CDialog::Create (IDD_DIALOG1,NULL);


然后我在一个类(不是view和doc类)加入一个消息函数响应点击菜单中弹出的命令,加入如下代码
CCAttributeDlg Dlg;
Dlg.Create ();
Dlg.ShowWindow (SW_SHOW);
我运行后,对话框只是弹出来闪了一下就没有了。这是为什么阿
...全文
3 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
leeajax 2003-06-13
一般来说非模式对话框因该用堆变量而不是栈变量
即:
CCAttributeDlg* pDlg=new CCAttributeDlg(...) ;
pDlg->Create ();
pDlg->ShowWindow (SW_SHOW);
这样就可以了,但是最后你一定要delete掉
回复
syl08341 2003-06-13
looked
回复
醉马不肖 2003-06-13
在函数退出时具有生命的变量
回复
rokia 2003-06-13
把Dlg 声明为类成员或者是全局的变量。

你这个问题是因为 Dlg 是个局部变量 。 你的 ZZZZ函数已经退出,所有的变量都会被销毁了。
回复
hehuawei8527367 2003-06-13
那应该怎么办呢,谢谢阿
回复
醉马不肖 2003-06-13
ZZZZZ:ZZZZ()
{
CCAttributeDlg Dlg;
Dlg.Create ();
Dlg.ShowWindow (SW_SHOW);
}
CCAttributeDlg的生命在函数中结束了,当函数退出时,Dlg被释放了

回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2003-06-13 07:24
社区公告
暂无公告