CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

有一事不明!

楼主ttoomm(桥风)2001-07-05 10:36:21 在 VC/MFC / 基础类 提问

单线程的程序,是在执行了CWinApp类的Run()函数后,才开始进行消息循环,进而响应Windows消息、命令消息和控件通知的吧!?  
  但是用向导生成的基于对话框的应用程序,很明显没有执行Run()函数,可是它是根据什么机制来响应各种消息和控件通知的呢?? 问题点数:60、回复次数:5Top

1 楼kenny_yuan(程序员)回复于 2001-07-05 10:47:12 得分 10

对话框自己有消息处理。Top

2 楼nustchen(壁虎)回复于 2001-07-05 10:47:49 得分 10

咋没有,有啊,都有。Top

3 楼leky2000(懒客)回复于 2001-07-05 10:48:17 得分 10

你有深入浅出mfc吗,如没有到pcbook.51soft.com   下载  
  那里有特别详细的解释Top

4 楼thaliahujie(thaliahujie)回复于 2001-07-05 10:58:13 得分 10

基于对话框的应用程序,   也有CWinApp类的Run()函数Top

5 楼WhiteWaterBlueSky(花之雨)回复于 2001-07-05 11:11:57 得分 20

实际上基于对话框的应用程序并没有进入CWinApp类的Run()函数,原因如下:  
   
  我们先看看CMyWinApp的InitInstance方法片段  
  BOOL   CMyWinApp::InitInstance()  
  {  
                    //   ......略  
     
  CPackagePictureDlg   dlg;  
  m_pMainWnd   =   &dlg;  
  int   nResponse   =   dlg.DoModal();  
  if   (nResponse   ==   IDOK)  
  {  
  //   TODO:   Place   code   here   to   handle   when   the   dialog   is  
  //     dismissed   with   OK  
  }  
  else   if   (nResponse   ==   IDCANCEL)  
  {  
  //   TODO:   Place   code   here   to   handle   when   the   dialog   is  
  //     dismissed   with   Cancel  
  }  
   
  //   Since   the   dialog   has   been   closed,   return   FALSE   so   that   we   exit   the  
  //     application,   rather   than   start   the   application's   message   pump.  
  return   FALSE;  
  }  
   
  我们发现主线程执行到dlg.DoModal()时,就不返回,直到该对话框关闭,显然dlg.DoModal()实际上启动的是对话框的窗口过程!  
  当对话框关闭后(程序结束),InitInstance直接返回FALSE,自然就不会进入Run方法了!  
   
  仔细看看最后的英文注释!!!  
  Top

相关问题

  • 一事不明
  • 有一事不明!
  • 小弟,有一事不明...
  • 一事不明白(1)
  • 小弟一事不明,请教了!
  • 各位高手,有一件事不明
  • 【东大进来】有一小事不明
  • 各位大虾,小弟有一事不明,请大虾赐教!
  • c语言中我有一事不明白。
  • 小弟刚来, 有一事不明,请教各位

关键词

  • 函数
  • 应用程序
  • 执行
  • 消息
  • 对话框
  • dlg
  • nresponse
  • domodal
  • initinstance
  • cwinapp类

得分解答快速导航

  • 帖主:ttoomm
  • kenny_yuan
  • nustchen
  • leky2000
  • thaliahujie
  • WhiteWaterBlueSky

相关链接

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

广告也精彩

反馈

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