CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

当关闭一个窗口时触发了什么事件?

楼主JFlyer(一万年太久,只争朝夕)2006-03-04 09:43:40 在 VC/MFC / 基础类 提问

本人在调试时发现当关闭一个窗口时并没有触发窗口的OnDestroy事件,窗口只是隐藏而没有释放内存,这样假如一个软件的窗口比较多时随着多个窗口的不断打开,应用程序占用的内存不断增长。我本想在窗口的OnDestroy事件中delete掉窗口类的对象,但OnDestroy根本就没有触发,怎么办? 问题点数:20、回复次数:8Top

1 楼vcmute(BCare4 H1Rest Good9!)回复于 2006-03-04 09:50:37 得分 10

OnClose  
  没有调用Destroy可能是因为有些线程没退出Top

2 楼cpio(备注)回复于 2006-03-04 09:54:17 得分 5

如果是对话框,关闭先调用的是OnCancel  
   
  OnDestroy是在销毁的时候调用  
   
  你是不是这样用的:CXXXDialog   *pDlg   =   new   CXXXDialog();  
  pDlg->DoModal();  
   
  如果这样,当然没有OnDestroy事件了,因为你这对象没有销毁  
   
  它会在你delete   pDlg的时候销毁Top

3 楼JFlyer(一万年太久,只争朝夕)回复于 2006-03-04 10:08:38 得分 0

我是:CXXXDialog   *pDlg   =   new   CXXXDialog();  
  pDlg->Create(IDD_DIALOG_XXX,.......);Top

4 楼JFlyer(一万年太久,只争朝夕)回复于 2006-03-04 10:15:16 得分 0

是不是像上面这种创建对话框的方式最好在对话框的Close事件中:DestroyWindow();  
  delete   pDlg;pDlg=NULL;   ???Top

5 楼wanglh100(悍卫钓鱼岛)回复于 2006-03-04 10:41:26 得分 1

一楼正解,OnClose  
  Top

6 楼syy64(太平洋)回复于 2006-03-04 12:55:56 得分 1

有很多消息.Top

7 楼nodefault(永不言败)回复于 2006-03-04 15:12:14 得分 1

这样不可可以吗?  
    CXXXDialog   pDlg   ;  
    if(pDlg.DoModal()==IDOK)  
  {  
   
  }  
   
  如果用指针,记住new的东西要delete,并且指针要设为NULL,才能完全释放。  
  Top

8 楼toumao(偷猫)回复于 2006-03-04 16:08:18 得分 2

记住new的东西要delete  
  并且指针要设为NULL  
  但是,设为NULL并不是为了完全释放。  
  Top

相关问题

  • 怎么在关闭窗口时触发其它事件?谢谢
  • 使用浏览器的关闭窗口触发事件?
  • 关掉HTML窗口是否能触发窗口关闭close事件!怎么触发??
  • 请问,onbeforeUnload事件如何只有在关闭窗口的时候触发,刷新的时候不触发
  • 关闭窗口时如何触发Global.asax文件中的Session_End事件
  • 一个问题:MDI 中的子窗口关闭时会触发什么事件?
  • 请问父窗口中怎么写代码关闭子窗口,并且触发里面的提交事件
  • 急!如何在一窗口的按钮事件里触发关闭另一窗口(WebForm)。
  • 请问打印预览窗口载入前和关闭后各触发什么事件?
  • 拖动窗口触发什么事件?

关键词

  • 指针
  • null
  • pdlg
  • cxxxdialog
  • 触发
  • ondestroy
  • 事件
  • 调用
  • 对话框
  • 关闭

得分解答快速导航

  • 帖主:JFlyer
  • vcmute
  • cpio
  • wanglh100
  • syy64
  • nodefault
  • toumao

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo