概要:
对话框:
App – 负责整个程序的初始化,包括对话框的创建,InitInstance
Dialog – 对话框
单文档:
App – 负责整个程序的初始化,包括主窗口的创建,doc的创建,InitInstance
MainFrame – 负责非客户区(菜单,状态栏,工具栏,快捷键, 视图分割)和客户区view的创建
view – 负责客户区的界面的展示
App – 单例:
AfxGetApp – 获取App
App – m_hInstance
MainFrame – 单例
AfxGetMainFrame – 获取MainFrame
GetMenu – 获取主菜单
整体使用方式:
MFC是SDK的简单封装,所以在MFC中多用类来操作窗口,相当于在SDK中使用句柄。
每个窗口类中都存储了自己的窗口句柄,GetSafeHwnd()来获取,
通过FromHandle,将句柄转换为类对象。
控件:
\1. 所有控件都封装了对应的类
\2. 简单控件(文本框,checkbox, radiobox)使用DDX,绑定到简单类型上,
复杂控件(listcontrol, listbox,combobox, treecontrol, tabcontrol。。。),绑定到MFC封装的控件类型
\3. 需要给控件扩展功能,则使用子类化,在DDX基础上,将类型换成自己继承的MFC对应类的子类
在MFC中添加处理逻辑的方式:
\1. 消息响应
\2. 虚函数(PreTranslateMessage, OnIntialDialog, OnCreateClient, PreCreateWindow, OnUpdate, OnDraw)
窗口的生命周期:
创建初始化 – WM_CREAWTE(来自CreateWindow)
。。。。
点击关闭 – WM_CLOSE
窗口销毁 – WM_DESTROY(DestroyWindow)