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

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

一、前置

本机环境:Win11,VS2022

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

二、MFC程序创建

下面是MFC程序创建过程

  1. 搜索MFC,选择MFC应用,点击下一步

在这里插入图片描述

  1. 填写项目名称,选择项目位置,创建

在这里插入图片描述

  1. 选择单个文档、项目样式选择MFC standard,点击完成即可创建成功

在这里插入图片描述

  1. 在 生成的类 中,发现一共会生成五种类:App类相当于MFC程序的入口;Doc类用来管理数据;Frame类是框架类,可以理解成窗口;View类即视类。直接点击完成即可创建成功。

在这里插入图片描述

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

三、一个简单的消息映射

功能描述

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

功能实现

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

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

在这里插入图片描述

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

在这里插入图片描述

  1. 右击C*View,点击属性,选择消息

在这里插入图片描述

  1. 找到OnLButtonDown,点击add,就可以自动生成函数,现在只需要填充函数内容即可

在这里插入图片描述

  1. 在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. 点击运行,效果如下

在这里插入图片描述

目录
相关文章
|
存储 JSON 安全
Elasticsearch索引生命周期管理方案
本文主要介绍Elasticsearch索引生命周期管理如何配置和使用
1414 1
Elasticsearch索引生命周期管理方案
|
9月前
|
存储 弹性计算 数据可视化
高效、弹性,阿里云工业仿真行业解决方案解读
高效、弹性,阿里云工业仿真行业解决方案解读
145 1
高效、弹性,阿里云工业仿真行业解决方案解读
|
数据采集 监控 大数据
大数据时代的数据质量与数据治理策略
在大数据时代,高质量数据对驱动企业决策和创新至关重要。然而,数据量的爆炸式增长带来了数据质量挑战,如准确性、完整性和时效性问题。本文探讨了数据质量的定义、重要性及评估方法,并提出数据治理策略,包括建立治理体系、数据质量管理流程和生命周期管理。通过使用Apache Nifi等工具进行数据质量监控和问题修复,结合元数据管理和数据集成工具,企业可以提升数据质量,释放数据价值。数据治理需要全员参与和持续优化,以应对数据质量挑战并推动企业发展。
3119 3
|
SQL 存储 安全
Web 常见攻击方式及防御方法
【10月更文挑战第25天】Web 安全是一个复杂而重要的领域,攻击者不断寻找新的攻击方法,我们需要不断加强防御措施,提高安全意识,以保障 Web 应用的安全运行。通过采取多种防御手段的综合运用,我们可以有效地降低 Web 攻击的风险,保护用户的信息和财产安全。同时,随着技术的不断发展,我们也需要持续关注和研究新的安全威胁和防御方法,以应对不断变化的安全形势。
1446 56
|
定位技术
GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm)
GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm)
2396 0
GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm)
|
Python
Python中的逻辑运算符:且(and)与或(or)
Python中的逻辑运算符:且(and)与或(or)
6133 0
|
域名解析 网络协议 Unix
NFS服务器详解
NFS服务器详解
1745 0
|
Windows
Visual Studio 2022如何创建Win32项目
Visual Studio 2022如何创建Win32项目
2548 0
Visual Studio 2022如何创建Win32项目
|
监控 BI SQL
饿了么监控系统 EMonitor 与美团点评 CAT 的对比
背景介绍 饿了么监控系统EMonitor:是一款服务于饿了么所有技术部门的一站式监控系统,覆盖了系统监控、容器监控、网络监控、中间件监控、业务监控、接入层监控以及前端监控的数据存储与查询。每日处理总数据量近PB,每日写入指标数据量百T,每日指标查询量几千万,配置图表个数上万,看板个数上千。
20665 97
阿里灵杰
阿里灵杰自制脑图
378 1
阿里灵杰