MFC程序的创建+一个简单的消息映射的实现

一、前置

本机环境:Win11,VS2022

首先要保证VS中已经安装MFC扩展包,未安装可以在工具->获取工具和功能 中搜索安装
在这里插入图片描述

二、MFC程序创建

下面是MFC程序创建过程

  1. 搜索MFC,选择MFC应用,点击下一步
    在这里插入图片描述
  2. 填写项目名称,选择项目位置,创建
    在这里插入图片描述
  3. 选择单个文档、项目样式选择MFC standard,点击完成即可创建成功
    在这里插入图片描述
  4. 在 生成的类 中,发现一共会生成五种类:App类相当于MFC程序的入口;Doc类用来管理数据;Frame类是框架类,可以理解成窗口;View类即视类。直接点击完成即可创建成功。
    在这里插入图片描述

可以直接运行,生成以下窗口
运行效果

三、一个简单的消息映射

功能描述

点击窗口中的任意位置,跳出一个新的窗口,显示点击处的坐标

功能实现

分析功能,本质上我们希望 窗口 响应 点击事件 ,并生成一个窗口,窗口中文字是自定义的。但是frame是框架类,view是视类,是真正进行显示的部分,有关显示的东西全部都写到View类。

  1. 双击类视图中的CView,即可跳转到对应的.h文件中,发现CView类中已经写好声明宏DECLARE_MESSAGE_MAP(),意思是可以将消息映射到属于该类的对象中
    在这里插入图片描述

  2. 接着双击该类下的任意一个函数,即可跳转到.cpp文件,发现分界宏已经有了,我们希望受到响应的事件/消息可以在分界宏之间定义
    在这里插入图片描述

  3. 右击C***View,点击属性,选择消息
    在这里插入图片描述

  4. 找到OnLButtonDown,点击add,就可以自动生成函数,现在只需要填充函数内容即可
    在这里插入图片描述

  5. 在OnLButtonDown函数中进行实现,代码如下所示

// 注意把类名换成自己的
void CSmallDrawingSystemView::OnLButtonDown(UINT nFlags, CPoint point)
{
    
    
	// TODO: 在此添加消息处理程序代码和/或调用默认值

	CView::OnLButtonDown(nFlags, point);

	CString str;
	str.Format(TEXT("x=%d, y=%d"), point.x, point.y);

	MessageBox(str);
}
  1. 点击运行,效果如下
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_50497501/article/details/128259716