MFC框架程序剖析

简介:

1、MFC(Microsoft Foundation Class 微软基本类库)

(1)每一个MFC程序有且仅有一个从应用程序类(CWinApp)派生的类,每一个MFC程序实例有且仅有一个该派生类的实例化对象。

(2)Afx前缀的函数代表应用程序框架函数。在MFC中为全局函数,可以在程序的任何地方调用。

WinMain—> AfxWinMain(WINMAIN.CPP里包括该函数的定义)

           AfxGetThread(THRDCORE.CPP)

           AfxGetApp(AFXWIN1.INL)

CMainFrame::PreCreateWindow—>CFrameWnd::PreCreateWindow(WINFRM.CPP)
CMainApp派生于CWinThread类

CFrameWnd派生于CWnd类

窗口创建功能是由CWnd类的CreateEx(声明AFXWin.h,定义WINCORE.CPP)函数实现的。
CFrameWnd类的LoadFrame函数调用CFrameWnd的Create(声明AFXWin.h,定义WINCORE.CPP)函数,Create函数内部调用CWnd的CreateEx函数

消息循环

CWinThread类Run函数完成

AfxWinMain函数中调用Run函数(定义THRDCODE.CPP)

2、窗口类,窗口类对象,窗口

联系:c++窗口类对象内部定义一个窗口句柄变量,保存了与这个c++窗口类对象相关的那   个窗口句柄。

区别:窗口销毁,对应的窗口类对象销毁与否关键看其生命周期是否结束。

      窗口类对象销毁,与之对应的窗口也销毁。

3、视类窗口与框架窗口。

框架窗口:菜单栏、标题栏都位于非客户区

          工具栏位于客户区。显示的按钮会占领工具栏的地方。
视类窗口:显示的按钮会直接在客户区,不会占领非客户区的地方。


本文转自 韬光星夜 51CTO博客,原文链接:http://blog.51cto.com/xfqxj/476987,如需转载请自行联系原作者

相关文章
|
程序员 Windows
08 MFC - MFC框架中一些重要的函数
08 MFC - MFC框架中一些重要的函数
69 0
20 MFC - 案例总结(下)
20 MFC - 案例总结(下)
73 0
10 MFC - 对话框应用程序框架介绍
10 MFC - 对话框应用程序框架介绍
103 0
|
API 调度 开发工具
03 MFC - 入门程序
03 MFC - 入门程序
61 0
|
数据安全/隐私保护 C++
20 MFC - 案例总结(中)
20 MFC - 案例总结(中)
102 0
|
C++ Windows
09 MFC - 创建基于对话框的 MFC 应用程序框架
09 MFC - 创建基于对话框的 MFC 应用程序框架
100 0
|
7月前
|
存储 API Windows
新建MFC桌面应用程序
新建MFC桌面应用程序
28 0
|
7月前
MFC编写DLL窗口功能代码
MFC编写DLL窗口功能代码
38 0
|
存储 API 区块链
20 MFC - 案例总结(上)
20 MFC - 案例总结
152 0
|
程序员
MFC应用程序开发教程2——基于对话框编程
MFC应用程序开发教程2——基于对话框编程
173 1
MFC应用程序开发教程2——基于对话框编程