vs2019中使用MFC构建简单windows窗口程序

 更新时间:2021年06月07日 14:10:58   作者:小舍先生  
今天发现网上好多MFC代码都不能用,给大家分享一个简单的MFC窗口语言,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。

图片.png

vs 2019 最新版,在设计上又有了很大的变化,并且其所有的服务,模块都是自定义搭建的,所以在一开始安装的时候,没有勾选mfc模块的话,是无法快速构成mfc应用的.

vs2019下MFC模块的安装

首先,在项目中新建一个项目,进入项目创建选项卡,看看是否有mfc项目,如果没有则需要更新vs,加载mfc模块.

图片.png

将项目创建卡拉到最下面,点击安装更多工具和功能

图片.png

进入vs模块更新界面,在这里可以更新你的vs所装的模块,要想支持mfc开发,需要勾选c++桌面开发中的mfc模块,默认情况下是不勾选的.然后更新即可.不要选择单个组件安装,会出现各种棘手的问题.

图片.png

创建MFC项目:

安装好mfc模块后,我们创建mfc项目,创建完成后会进入mfc项目的基本属性定义选项卡: 

图片.png

在这里,我们选择单文档程序,项目样式选择mfc基本样式,当然你还可以定义其他各种自定义属性.定义好基本属性之后,点击完成,一个mfc模板就创建好了.

我们直接将项目设为启动项目,调试运行,即可弹出一个默认的窗口:

图片.png

如此,一个简单的mfc窗口程序就快速构建成功了,我们只需要在这个基础上再去重构,就可实现各种复杂的功能,和我们想要实现的功能.

简单的实现一个绘图小程序:

首先我们展开自动构架的mfc项目的资源文件,双击.rc文件打开资源视图,找到Menu目录下的IDR_前缀的文件,双击打开,进入窗口可视化设计视图:

图片.png

图片.png

图片.png

我们可以对菜单栏进行编辑,这里创建一个新的绘制菜单,并新建几个绘制功能选项.

现在我们所需要的界面设计完成了,那那么我们怎么实现其功能呢.

图片.png

通过右键,为每个选项添加事件处理程序

图片.png

我们可以在对应的view.cpp中看到对应生成的函数:

图片.png

我们直接在该类中声明所需要的变量,绘制类型,绘制起点,绘制终点.
并当监测到每个选项时,返回一个int型变量用来判断绘制类型.

通过类向导添加两个处理程序,用来检测鼠标左键按下与抬起两个事件:

图片.png

打开消息选项卡,可以找到wm_lbuttondown与wm_lbuttonup两个消息添加处理程序,然后点击编辑代码,即可进入自动生成的函数体中,编写实现代码了:

图片.png

通过一个switch多路分支语句来控制实现的方式,绘制方法具体实现,调用mfc自带函数即可.

图片.png

到此这篇关于vs2019中使用MFC构建简单windows窗口程序的文章就介绍到这了,更多相关MFC构建windows窗口程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • opencv3.0识别并提取图形中的矩形的方法

    opencv3.0识别并提取图形中的矩形的方法

    这篇文章主要介绍了opencv3.0识别并提取图形中的矩形的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • C语言实现四窗口聊天

    C语言实现四窗口聊天

    这篇文章主要为大家详细介绍了C语言实现四窗口聊天,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • c/c++那些你一定会出错的数组笔试题汇总

    c/c++那些你一定会出错的数组笔试题汇总

    这篇文章主要给大家汇总介绍了关于c/c++那些你一定会出错的数组笔试题,除了基本数据类型之外,其余的都作为类对象,包括数组,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • Qt实现进程界面之间的鼠标焦点切换

    Qt实现进程界面之间的鼠标焦点切换

    这篇文章主要为大家详细介绍了Qt实现进程界面之间的鼠标焦点切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • C++ OpenCV实现boxfilter方框滤波的方法详解

    C++ OpenCV实现boxfilter方框滤波的方法详解

    box filter的作用很简单,即对局部区域求平均,并把值赋给某个点,一般我们赋给区域中心。本文将用C++实现boxfilter方框滤波,需要的可以了解一下
    2022-10-10
  • 基于C语言代码实现点餐系统

    基于C语言代码实现点餐系统

    这篇文章主要为大家详细介绍了基于C语言代码实现点餐系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • 如何在 clion 运行多个 main 函数(方法详解)

    如何在 clion 运行多个 main 函数(方法详解)

    这篇文章主要介绍了如何在 clion 运行多个 main 函数,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • C++中简单的文本文件输入/输出示例详解

    C++中简单的文本文件输入/输出示例详解

    C++程序把输入和输出看作字节流,输入时程序从输入流中抽取字节,输出时程序将字节插入到输出流中,下面这篇文章主要给大家介绍了关于C++中简单的文本文件输入/输出的相关资料,需要的朋友可以参考下
    2021-12-12
  • Qt槽函数会被执行多次的问题原因及解决方法

    Qt槽函数会被执行多次的问题原因及解决方法

    本文主要介绍了Qt槽函数会被执行多次的问题原因及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 深入C/C++浮点数在内存中的存储方式详解

    深入C/C++浮点数在内存中的存储方式详解

    本篇文章是对C/C++浮点数在内存中的存储方式进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论