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

框架消失后,进程如何终止的?

楼主ljyit(木瓜)2006-03-19 14:13:09 在 VC/MFC / 基础类 提问

刚学MFC,对这种机制搞不明白:  
   
  BOOL   CHelloApp::InitInstance()  
  {  
  m_pMainWnd=new   CHelloWindow();  
  m_pMainWnd->ShowWindow(m_nCmdShow);  
  m_pMainWnd->UpdateWindow();  
  return   TRUE;  
  };  
   
  这个主框架指针m_pMainWnd指向了一个CFrameWindow实例,当点击窗口的关闭时,CHelloWindow()消失,但CHelloApp如何终止的呢?  
   
  全部代码如下,没有看到程序是如何终止的,CHelloApp如何知道主窗口已经没了?  
   
   
  #include   <AfxWin.h>  
   
  class   CHelloApp:public   CWinApp  
  {  
  public:  
  virtual   BOOL   InitInstance();  
   
  };  
   
  CHelloApp   theApp;  
   
  class   CHelloWindow:public   CFrameWnd  
  {  
  CStatic   *cs;  
  public:  
  CHelloWindow();  
  };  
   
  BOOL   CHelloApp::InitInstance()  
  {  
  m_pMainWnd=new   CHelloWindow();  
  m_pMainWnd->ShowWindow(m_nCmdShow);  
  m_pMainWnd->UpdateWindow();  
  return   TRUE;  
  };  
   
  CHelloWindow::CHelloWindow()  
  {  
  //建立窗口本身  
  Create(NULL,    
  "Hello   World!",    
  WS_OVERLAPPEDWINDOW,    
  CRect(0,0,200,200));  
  //   建立静态标签  
  cs   =   new   CStatic();  
  cs->Create("hello   world",  
  WS_CHILD|WS_VISIBLE|SS_CENTER,  
  CRect(50,80,150,150),  
  this);  
  }; 问题点数:20、回复次数:6Top

1 楼YaYiYaO()回复于 2006-03-19 14:40:29 得分 10

InitInstance()只是初始化程序  
  结束后程序进入消息循环中,这个被MFC封装了  
  当收到程序结束的消息后,循环结束,主函数AfxWinMain返回,程序终止!  
   
  可以去看下winmain.cpp文件,AfxWinMain就在这里面Top

2 楼ljyit(木瓜)回复于 2006-03-19 15:00:13 得分 0

几点疑问:  
  1.一个程序只能有一个CWinApp对像,但一个进程只能有一个CFrameWindow吗?  
  2.CFrameWindow对像消毁时,它是不是会向进程发送WM_DESTORY消息?如果不是,那么消息循环又是如何结束的?Top

3 楼qkhhgutg(太子)回复于 2006-03-19 15:54:17 得分 0

接分Top

4 楼monk2000(老实和尚)回复于 2006-03-19 17:51:47 得分 10

http://www.vczx.com/tutorial/mfc/mfc6.phpTop

5 楼YaYiYaO()回复于 2006-03-19 18:23:27 得分 0

推荐你去看下侯捷的《深入浅出MFC》,里面对你这个问题解释的比较清楚Top

6 楼ljyit(木瓜)回复于 2006-03-20 08:50:51 得分 0

谢谢老和尚Top

相关问题

  • 进程不终止???
  • 进程终止的问题
  • 菜题(关于终止进程)
  • 关于终止进程的问题
  • 如何终止系统进程
  • 如何从一个进程终止另一个进程或子进程?
  • 如何从一个进程终止另一个进程或子进程?
  • 什么让进程安静的消失?
  • 如何实现子进程根据父进程的信号来确定是否终止子进程???
  • 大侠们,如何终止一个程序的进程?????

关键词

  • 消息
  • ws
  • mfc
  • chellowindow
  • chelloapp
  • pmainwnd
  • 终止
  • cframewindow
  • 进程
  • 程序

得分解答快速导航

  • 帖主:ljyit
  • YaYiYaO
  • monk2000

相关链接

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

广告也精彩

反馈

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