补发:2021-11-13
MFC基础篇
以C++类的形式对WINDOWS API进行封装。
MFC框架理论
关键类
CWinApp:MFC应用程序抽象,管理DocumentTemplate。
CFrameWnd: 框架窗口,负责创建应用主窗口,含标题栏,菜单栏,工具栏,状态栏等 。
CView: 负责展示应用数据,View其实是一个没有边框的窗口, 客户区 。
CDocument: 负责存储应用数据 。
CDocTemplate:DocumentTemplate: 隐藏Boss, 负责管理MainFrame,View和Document。
窗口与窗口对象
关系:
- 每个窗口对象都包含一个窗口
- 窗口对象使用Create方法创建窗口,在Create方法个中将窗口对象与窗口绑定
- 窗口对象的与窗口的生命周期不同,并不同生共死。(menu.Detach()将对象与它绑定在窗口的这一块区域分离(分离窗口对象和窗口))
afx
微软mfx小组。
消息映射
把消息ID和相应函数关联起来。 当这种消息发送出来后,对应的函数就会触发。
BEGIN_MESSAGE_MAP(CMFCApplicationView, CView)
ON_COMMAND(ID_MSG_DRAW_PEN,&CMFCApplicationView::OnPen)
ON_COMMAND(ID_MSG_DRAW_RECT,&CMFCApplicationView::OnRect)
......
END_MESSAGE_MAP()
重绘
元文件
元文件(Metafile)是记录所有"绘图指令"的集合,拥有录制,重放的功能。
view文件中的代码示例:
//声明一个Metefile的对象
HMETAFILE metafile;
//结束录制,保存文件
metafile = m_dcMetaFile.Close();
//重放文件
pDC->PlayMetaFile(metafile);
//准备一个新的录制
m_dcMetaFile.Create();
//在新的录制中重放旧元文件
m_dcMetaFile.PlayMetaFile(metafile);
//删除元文件
DeleteMetaFile(metafile);
//无效界面-请求重绘
Invalidate();
兼容设备描述表
兼容设备是一种内存设备,在显示图像的过程中,可以先在内存中准备这些图像,之后可以直接拷贝内存数据到真实的设备中,完成图像的显示。
起到一个二次缓冲的效果