非模态对话框怎么一闪就没了?

xiaotina 2004-07-12 09:34:12

CDialogCal dlg=new CDialogCal;
dlg.Create(IDD_DIALOG1,NULL);
return dlg.ShowWindow(SW_SHOW);
//资源那里已经把对话框设为visible
...全文
232 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
TonyWJ 2004-07-13
  • 打赏
  • 举报
回复
你的dlg又不是指针,干吗要new CDialogCal;!
TonyWJ 2004-07-12
  • 打赏
  • 举报
回复
一样的,函数一返回就没了。
用全局变量吧。
CDialogCal dlg;
BOOL bar_dialog()
{
dlg.Create(IDD_DIALOG1,NULL);
return dlg.ShowWindow(SW_SHOW);
}
xiaotina 2004-07-12
  • 打赏
  • 举报
回复
在global中调用的
BOOL bar_dialog()
{
CDialogCal dlg=new CDialogCal;
dlg.Create(IDD_DIALOG1,NULL);
return dlg.ShowWindow(SW_SHOW);


}
qqii77 2004-07-12
  • 打赏
  • 举报
回复
同意TonyWJ(◎◎!)
TonyWJ 2004-07-12
  • 打赏
  • 举报
回复
因为你的dlg是局部变量,一旦函数返回,变量就被释放掉了。所以一闪就消失了。
把dlg作为类成员,或者用指针也行。
huaboy408 2004-07-12
  • 打赏
  • 举报
回复
把代码贴全点

看看是不是什么地方调用
dlg.ShowWindow(SW_HIDE);

xiaotina 2004-07-12
  • 打赏
  • 举报
回复
现在连闪都不闪了
总是出现异常
我调试的时候发现
在执行dlg=new CDialogCal;的开始
dlg是有值的
但是就在该句的末尾,dlg就变成空值了

15,979

社区成员

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

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