利用向导创建MFC

目录

1、项目的创建:

[2、项目的管理 :](#2、项目的管理 :)

[3、分析以及生成的项目代码 :](#3、分析以及生成的项目代码 :)

(1)、查看CFrame中的消息映射宏

(2)、自动生成事件

(3)、在CFrame中添加对应的鼠标处理函数

(4)、在VIEW中添加鼠标左键点击事件

(5)、在VIEW中添加绘图

1)、OnDraw的绘图

2)、OnPaint绘图

4、文档/视图结构:

5、MFC中重要的函数:

(1)、InitInstance函数

(2)、PreCreateWindow函数

(3)、OnCreate函数

(4)、OnDraw和OnPaint函数

6、扩展知识:

7、最终的程序UI


1、项目的创建:

2、项目的管理 :

打开类试图来操作操作类

3、分析以及生成的项目代码 :

(1)、查看CFrame中的消息映射宏

(2)、自动生成事件

(3)、在CFrame中添加对应的鼠标处理函数

由于CFrame相当于相框,所以鼠标处理的函数应该放在view中才能生效

(4)、在VIEW中添加鼠标左键点击事件

(5)、在VIEW中添加绘图

绘图有俩种一种时OnDraw还有一个是OnPaint。当有OnPaint时候,OnDraw会被取代而不是覆盖。所以有OnPaint就不要有OnDraw。

1)、OnDraw的绘图

代码部分实现OnDraw绘图:

2)、OnPaint绘图

代码实现部分:

4、文档/视图结构:

MFC应用程序框架结构是基于文档/视图的体系结构,它定义了一种程序结构,这种结构依靠文档对象保存应用程序的数据,并且依靠视图对象控制视图的显示数据,把数据本身和他显示分离开。
数据的存储和加载由文档类来完成,数据的显示和修改则由视觉类来完成。MFC在类CDocument和CView中为稳定视图提供基础,CWinAPP、CFrameWnd和其他类与CDocument和CView合作,把所有的片段连接起来。

5、MFC中重要的函数:

(1)、InitInstance函数

应用程序的一个虚函数,MFC应用程序的入口

(2)、PreCreateWindow函数

在产生窗口之前让程序员由修改窗口外观的机会。通过修改传递给PreCreateWindow的结构体类型参数CREATESTRUCT,应用程序可以用于创建窗口的属性。最后调用CreateWindowEx函数完成窗口的创建

(3)、OnCreate函数

OnCreate函数是一个消息响应函数,响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的。

当Create窗口创建之后,会向操作系统发送WM_CREATE消息,OnCreate()函数主要用来响应此消息

OnCreate和Create的区别

1、Create()负责注册产生窗口。然后向操作系统发送WM_CREATE消息。

2、OnCreate()不产生窗口,只是在窗口设置之前改变窗口的属性例如格式位置等。

3、OnCreate()是消息WM_CREATE的响应函数。

(4)、OnDraw和OnPaint函数

我们通常使用OnDraw函数,所以不用编写OnPaint函数,否则OnDraw函数会失效。

6、扩展知识:

(1)、MFC中后缀为Ex的函数都是扩展函数。

(2)、在MFC中,以Afx前缀的函数都是全局函数,可以在程序的任何地方调用。

当前类要是用MessageBox需要使用全局的AfxMessageBox。

7、最终的程序UI

相关推荐
ShineWinsu17 小时前
对于C++:C++11中lambda、function、bind的解析
c++·面试·笔试·开发·lambda·bind·function
码匠许师傅18 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
旖旎夜光18 小时前
LeetCode 3:无重复字符的最长子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
汉字萌萌哒19 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
hy.z_77719 小时前
【C++】13. 继承
c++
汉字萌萌哒20 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
2401_8906034020 小时前
C++ 继承
c++
果果燕21 小时前
C++ 学习笔记(二):类与对象—— 构造函数与析构函数
开发语言·c++
老洋葱Mr_Onion21 小时前
【C++】信息学奥赛CSP通关之路——CSP-J/S第一轮原创全真模拟试卷集(2026)卷四全卷解析
开发语言·c++
布莱克6051 天前
理解 C/C++ 中的 void* 指针
c语言·c++