程序的诞生<o:p></o:p>
#Application Object产生,内存于是获得配置,初值亦设立完成。<o:p></o:p>
#AfxWinMain执行AfxWinInit,后者又调用AfxInitThread,把消息队列尽量加大。<o:p></o:p>
#AfxWinMain执行InitApplication。这是CwinApp的虚函数,但我们通常不改写它。<o:p></o:p>
#AfxWinMain执行InitInstance.这是CwinApp的虚函数,我们必须改写。<o:p></o:p>
#CMyWinApp::InitInstance 'new'了一个CMyFrameWnd对象。<o:p></o:p>
#CMyFrameWnd构造函数调用Create,产生主窗口。我们在Create参数中指定的窗口类是NULL,于是MFC根据窗口种类,自行为我们注册一个名为"AfxFrameOrView42d"的窗口类。<o:p></o:p>
#回到InitInstance中继续执行ShowWindow,显示窗口。<o:p></o:p>
#执行UpDateWindow,于是发出WM_PAINT.<o:p></o:p>
#回到AfxWinMain,执行Run,进入消息循环。<o:p></o:p>
<o:p></o:p>
程序开始运行<o:p></o:p>
#程序获得WM_PAINT消息(经由CwinApp::Run中的::GetMessage循环)。<o:p></o:p>
#WM_PAINT经由::DispatchMessage送到窗口函数CWnd::DefWindowProc中。<o:p></o:p>
#CWnd::DefWindowProc将消息传递给消息映射表格(Message Map)<o:p></o:p>
#传递过程中发现有相符项目,于是调用项目中对应的函数。此函数是应用程序利用BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间的宏设立起来的。<o:p></o:p>
#标准消息的处理程序亦有标准命名,例如WM_PAINT必然由OnPaint处理。<o:p></o:p>
<o:p></o:p>
程序的死亡<o:p></o:p>
#使用者单击File/close,于是发出WM_CLOSE.<o:p></o:p>
#CMyFrameWnd并没有设置WM_CLOSE处理程序,于是交给默认的处理程序。<o:p></o:p>
#默认函数对于WM_CLOSE的处理方式就是调用::DestoryWindow,并因而发出WM_DESTORY。<o:p></o:p>
#默认的WM_DESTROY处理方式是调用::PostQuitMessage。因此发出WM_QUIT.<o:p></o:p>
#CwinApp::Run收到WM_QUIT后会结束其内部之消息循环,然后调用ExitInstance,这是CwinApp的一个虚拟函数。<o:p></o:p>
#如果CmyWinApp改写了ExitInstance,那么CwinApp::Run所调用的就是CmyWinApp::ExitInstance,否则就是CwinApp::ExitInstance.<o:p></o:p>
#最后回到AfxWinMain,执行AfxWinTerm,结束程序。
分享到:
相关推荐
以传统的C/SDK 撰写Windows 程序,最大的好处是可以清楚看见整个程序的来龙去脉 和消息动向,然而这些重要的动线在MFC 应用程序中却隐晦不明,因为它们被Application Framework 包起来了。这一章主要目的除了解释MFC...
本篇详细解释 MFC 程序之来龙去脉,为初入 MFC 领域的读者奠定扎实的基础。说不定本篇会让你有醍醐灌顶之感。 第四篇【深入 MFC 程序设计】介绍各式各样 MFC 技术。「只知其然不知其所以然」的不良副作用,在程序...
主要讲解MFC 程序的来龙去脉,非常值得初学都使用和想深入MFC 开发的使用
简化的MFC程序结构——以Hello MFC为例 Hello程序程序代码 MFC程序的来龙去脉(causal relations) 我只借用两个类:CWinApp和CFrameWnd CWinApp——取代WinMain的地位 CFrameWnd——取代WndProc的地位 引爆器——...
MFC程序的来龙去脉(causal relations) 我只借用两个类:CWinApp和CFrameWnd CWinApp——取代WinMain的地位 CFrameWnd——取代WndProc的地位 引爆器——Application object 隐晦不明的WinMain AfxWinInit——AFX...
MFC程序的来龙去脉(causal relations) 我只借用两个类:CWinApp和CFrameWnd CWinApp——取代WinMain的地位 CFrameWnd——取代WndProc的地位 引爆器——Application object 隐晦不明的WinMain AfxWinInit——AFX...
对MFC的讲解从基本原理到三大聚集的概念及使用,通过对一个个小程序的详解,让你了解利用MFC进行程式设计的来龙去脉。 本书的主要内容如下: 1。对win32程式的基本概念和开发流程的阐述。 2。对MFC六大关键技术的...
本篇详细解释MFC 程序之来龙去脉,为初入MFC 领域的 读者奠定扎实的基础。说不定本篇会让你有醍醐灌顶之感。 第四篇【深入MFC 程序设计】介绍各式各样MFC 技术。「只知其然不知其所以然」 的不良副作用,在程序设计...
本篇详细解释MFC 程序之来龙去脉,为初入MFC 领域的 读者奠定扎实的基础。说不定本篇会让你有醍醐灌顶之感。 第四篇介绍各式各样MFC 技术。「只知其然不知其所以然」的不良副作用,在程序设计的企图进一步开展之后,...
第一篇提出学习MFC程序设计之前的必要基础,包括Widnows程序的基本观念以及C++的高阶议题。“学前基础”是相当主观的认定,不过,甚于我个人的学习经验以及教学经验,我的挑选应该颇具说服力。第二篇介绍Visual C++...