一、关键类
CWinApp:MFC应用程序抽象,管理DocumentTemplate。
CFrameWnd: 框架窗口,负责创建应用主窗口,含标题栏,菜单栏,工具栏,状态栏等 。
CView: 负责展示应用数据,View其实是一个没有边框的窗口, 客户区 。
CDocument: 负责存储应用数据 。
CDocTemplate:DocumentTemplate: 隐藏Boss, 负责管理MainFrame,View和Document。
二、窗口与窗口对象
1.关系:
每个窗口对象都包含一个窗口
窗口对象使用Create方法创建窗口,在Create方法个中将窗口对象与窗口绑定
窗口对象的与窗口的生命周期不同,并不同生共死。(menu.Detach()将对象与它绑定在窗口的这一块区域分离(分离窗口对象和窗口))
2.消息映射
把消息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()
3.重绘
view文件中的代码示例:
HMETAFILE metafile;//声明一个Metefile的对象
metafile = m_dcMetaFile.Close(); //结束录制,保存文件
pDC->PlayMetaFile(metafile);//重放文件
m_dcMetaFile.Create(); //准备一个新的录制
m_dcMetaFile.PlayMetaFile(metafile);//在新的录制中重放旧元文件
DeleteMetaFile(metafile);//删除元文件
Invalidate();//无效界面-请求重绘
4.文件
写入文件
void CMFCApplicationView::OnFileWirte()
{
// TODO: 在此添加命令处理程序代码
CString hello = _T("hello world\n");
//打开文件对话框
CFileDialog fileDlg(FALSE);
if (IDOK==fileDlg.DoModal())
{
//获取对话框返回的文件名
//打开文件
//写入文件
//关闭文件
CString path = fileDlg.GetPathName();
CFile file(path, CFile::mod