1 向导的流程
文件->新建->项目
疯狂点击下一步即可
2 类视图
3 文档视图结构体系
mfc 应用程序的基石是文档/视图结构体系,他定义了一种程序结构,这种结构依靠文档对象保存应用的程序数据。并依靠视图对象控制视图中显示的数据,把数据本身和与他的显示分割开。
数据的存储和加载由文档类完成,数据的显示和修改则由视图类完成。mfc在类CDocument和CView中为稳定视图提供基础结构,CWinAPP、CFrameWnd和其他类与CDocument和CView合作,把所有的片段连在一起。CView类也是派生CWnd类,框架窗口是视图窗口的一个父窗口。主框架窗口(CFrameWnd)是整个程序外框所包含的部分。主框架窗口是粗框以内的内容,视图窗口是主框架中空白的地方。
4 消息处理的添加
类视图 CMainFrame(继承CFrameWnd),选择类属性当中的消息按钮
4.1 第一步
框架类的头文件中添加了鼠标左键的函数声明
public:
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
4.2 第二步
在框架类cpp文件中添加消息映射宏
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_CREATE()
ON_WM_LBUTTONDOWN() //消息映射宏
END_MESSAGE_MAP()
4.3 第三步
框架列cpp文件当中添加了处理鼠标左键的函数定义
void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CFrameWnd::OnLButtonDown(nFlags, point);
/*CString str;
str.Format(TEXT("x=%d,y=%d"), point.x, point.y);
MessageBox(str);*/
}
5 mfc中一些重要的函数
5.1 InitInstance函数
程序的入口
5.2 PreCreateWindow函数
在产生窗口的外观之前有机会修改窗口的外观,最后调用CreateWindowEx函数完成窗口的创建。
5.3 OnCreate函数
OnCreate和Create的区别:
1 create负责注册并产生窗口,像动态控件中的create()一样,窗口创建之后会发发送 WM_CREATE消息。
2 OnCreate不产生窗口,只是在显示前设置窗口的属性,如分割、位置等。
3 OnCreate()是WM_CREATE的响应函数。
5.4 ONDraw和OnPaint
如果有了OnDraw就不要OnPaint,如果同时存在OnPaint会把OnDraw覆盖掉
拓展知识点
mfc中ex结尾的都是拓展函数;
Afx为前缀的都是全局函数,可以做程序的任何地方调用他们