05 利用向导创建mfc

1 向导的流程

文件->新建->项目

05 利用向导创建mfc_第1张图片 05 利用向导创建mfc_第2张图片

疯狂点击下一步即可

2 类视图

05 利用向导创建mfc_第3张图片

3 文档视图结构体系

mfc 应用程序的基石是文档/视图结构体系,他定义了一种程序结构,这种结构依靠文档对象保存应用的程序数据。并依靠视图对象控制视图中显示的数据,把数据本身和与他的显示分割开。

数据的存储和加载由文档类完成,数据的显示和修改则由视图类完成。mfc在类CDocument和CView中为稳定视图提供基础结构,CWinAPP、CFrameWnd和其他类与CDocument和CView合作,把所有的片段连在一起。CView类也是派生CWnd类,框架窗口是视图窗口的一个父窗口。主框架窗口(CFrameWnd)是整个程序外框所包含的部分。主框架窗口是粗框以内的内容,视图窗口是主框架中空白的地方。

05 利用向导创建mfc_第4张图片

4 消息处理的添加

类视图 CMainFrame(继承CFrameWnd),选择类属性当中的消息按钮

05 利用向导创建mfc_第5张图片

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为前缀的都是全局函数,可以做程序的任何地方调用他们

你可能感兴趣的:(MFC)