非模态对话框:

CShuXSheet的基类是CPropertySheetCShuXSheet*pDlg=newCShuXSheet("非模态属性表单");pDlg->Create();以... CShuXSheet的基类是CPropertySheet
CShuXSheet *pDlg = new CShuXSheet("非模态属性表单");
pDlg->Create();
以上这种方式创建非模态对话框没有问题

CShuXSheet pDlg("非模态属性表单");
pDlg.Create();
这种方法创建的非模态对话框一闪就消失了
为什么会这样?难道栈和堆的原因?
展开
 我来答
cooke1234
2013-06-24 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3608万
展开全部
这个问题,与栈和堆有点关系。
执行pDlg.Create()之后,对话框被创建,然后程序接着往下面走,走出了当前函数后,pDlg就走出作用域,消失掉了,被析构了(因为它不是指针),所以会看不到。
而是用指针的话,执行过程走出函数之后,只有pDlg指针消失掉,而指针指向的对话框对象,还保留在heap中,没有被析构,所以还能看见。
厦门欣中特科技
2013-06-24 · TA获得超过143个赞
知道答主
回答量:135
采纳率:0%
帮助的人:99.5万
展开全部
--没看清楚,删此回复--
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式