1. 向导流程

在VS中选择“文件” – “新建” – “项目”:
07 MFC - 用向导生成一个MFC应用程序
选择 MFC – MFC应用程序,接下来我们创建一个单文档MFC标准类型应用程序。
07 MFC - 用向导生成一个MFC应用程序
一路按默认值next,到最后一个页面:07 MFC - 用向导生成一个MFC应用程序
MFC自动为我们生成了四个类,它们的继承关系如下:
07 MFC - 用向导生成一个MFC应用程序

2. 类视图

07 MFC - 用向导生成一个MFC应用程序
07 MFC - 用向导生成一个MFC应用程序

3. 文档/视图结构体系

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

数据的存储和加载由文档类来完成,数据的显示和修改则由视类来完成。 MFC在类CDocument和CView中为稳定视图提供了基础结构。CWinApp、CFrameWnd和其他类与CDocument和CView合作,把所有的片段连在了一起。

CView类也派生于CWnd类,框架窗口是视图窗口的一个父窗口。主框架窗口(CFrameWnd)是整个应用程序外框所包括的部分,即图中粗框以内的内容,而视类窗口只是主框架中空白的地方。

07 MFC - 用向导生成一个MFC应用程序

4.消息处理的添加

在主框架类中添加WM_LBUTTONDOWN消息的响应函数,具体操作如下:
07 MFC - 用向导生成一个MFC应用程序
从类视图中找到CMainFrame(继承自CFrameWnd),选择此类然后从属性面板中找到消息按钮07 MFC - 用向导生成一个MFC应用程序,在消息列表中找到WM_LBUTTONDOWN消息,添加。

工程文件增加几处改变:

  • 第一处:在框架类头文件中添加了鼠标左键消息函数的函数声明07 MFC - 用向导生成一个MFC应用程序
  • 第二处:在框架类cpp文件中添加了消息映射宏07 MFC - 用向导生成一个MFC应用程序
  • 第三处:在框架列cpp文件中添加了处理鼠标左键消息的函数定义07 MFC - 用向导生成一个MFC应用程序

我们再此OnLButtonDown函数中添加一个MessageBox消息,鼠标左键按下弹出一个提示框,然后执行程序。我们会惊奇的发现程序并未如我们所愿弹出消息框。

因为,框架窗口是视窗口的父窗口,那么视类窗口就应该始终覆盖在框架类窗口之上。就好比框架窗口是一面墙,视类窗口就是墙纸,它始终挡在这面墙前边。也就是说,所有操作,包括鼠标单击、鼠标移动等操作都只能有视类窗口捕获。
07 MFC - 用向导生成一个MFC应用程序

相关文章: