C++ MFC简介

article/2025/10/22 4:42:26

介绍MFC之前,需要先介绍几个MFC的概念。

1) API

Windows操作系统提供了各种各样的函数,以方便我们开发Windows应用程序。这些程序是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称为API函数。我们在编写Windows程序时所说的API函数,就是指系统提供的函数,所有主要的Windows函数都在Windows头文件中进行了声明。

举个例子,Windows中播放声音的API函数,函数原型如下:

BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);

pszSound就是你要播放的文件路径,fdwSound就是你要选择的播放模式。具体的用法可以查阅相关的资料。

在使用API时,注意头文件和库文件对API的支持,否则程序编译或链接会提示错误。API PlaySound需要头文件mmsystem.h和库文件WINMM.LIB的支持。

#include <mmsystem.h>
#pragma comment(lib, "WINMM.LIB")

2) SDK

SDK(Software Development Kit, 即软件开发工具包 )一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。举个例子,假如我们要开发无线信号发射器,在购买芯片或主板的同时,厂商同时会提供主板的SDK开发包,以方便我们对主板的编程操作。这个开发包通常会包含主板的API函数、帮助文档、使用手册、辅助工具等资源,也就是定义里面说的,SDK实际上一个开发所需资源的一个集合。

3) 控制台程序

所谓的控制台应用程序,就是能够运行在MS-DOS环境中的程序。控制台应用程序通常没有可视化的界面,只是通过字符串来显示或者监控程序。控制台程序常常被应用在测试、监控等用途,用户往往只关心数据,不在乎界面。一个典型的应用就是ping网络,如图1-1所示:

图1-1 控制台程序示例

 

DOS 的这种界面叫CUI (Command line User Interface ) 命令行模式的人机接口。

4) GUI程序

GUI 是 Graphical User Interface 的简称,即图形用户界面,如Windows是以图形界面方式操作的,因为你可以用鼠标来点击按钮来进行操作,很直观。而DOS就不具备GUI,所以他只能输入命令。另外,GUI 还是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。

5) MFC程序

MFC是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,所以在MFC中,你可以直接调用 windows API,同时需要引用对应的头文件或库文件;另外,MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西。但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率,但是MFC的封装很浅,所以在灵活性以及效率上损失不大,可以忽略不计。

MFC程序就是基于MFC编译出来的可执行程序,是一种GUI程序。

6) 字符编码:Unicode和多字节

字符编码是一个复杂的过程。简单地讲,就是将机器语言(0和1组成的字符串)转换成我们能识别的信息的一个过程。我们不必在这里深究这个过程是怎么完成的,暂时没有必要。这里我们知道的是,MFC有两种编码方式,Unicode和多字节并且可以设置切换。切换方法是打开项目属性页,常规项对应的字符集中可切换编码方式。Visual C++6.0用的是多字节编码;Virtual Studio 2010 默认使用的是Unicode编码,所以在代码移植的时候经常会提示很多编码方式相关的错误,解决方法是将Unicode编码改为多字节编码即可。这里提示一点,使用 _T 宏有条件地编写字符串的代码,使之可移植到 Unicode。这一招可以解决大多数编码方式不匹配引发的问题。


http://chatgpt.dhexx.cn/article/oMJN9Gqh.shtml

相关文章

一、MFC介绍

一、什么是MFC MFC(全称:Microsoft Foundation Classes),微软基础类库。他封装了Windows应用程序的各种API以及相关机制的c++类库。 1、特点: (1)开发效率高 (2)程序执行效率高,相对C# (3)迁移性差(仅支持Windows)相对QT 二、MFC程序介绍 1、MFC类库常用头…

VS2015之博大精深的MFC项目开发(一)

VS2015之博大精深的MFC项目开发&#xff08;一&#xff09; 第一章 MFC基础篇1、MFC01-2&#xff1a;Win32程序资源管理1.1 讲解MessageBox&#xff08;在windows中如何输出&#xff09;1.2 给我们的软件插入一个图标1.3 对话框程序是如何建立的&#xff08;在windows中如何输入…

简单MFC程序开发-C++反编译肉鸡养成

目录 一、需求 二、程序效果 效果1&#xff1a;鼠标左键点击&#xff0c;显示坐标 效果2&#xff1a;按下按键&#xff0c;显示键值 三、实现过程 1.创建MFC程序 2.修改添加功能 2.1 修改标题 2.2 增加鼠标消息 2.3 增加键盘消息 2.4 显示文字函数 2.5 编译生成exe 一…

MFC应用程序开发教程1

以下为本人学习笔记 原视频&#xff1a;黑马程序员MFC教程 一、基础概念 SDK&#xff1a;软件开发工具包&#xff08;Software Development Kit&#xff09;&#xff0c;第三方工具API&#xff1a;Windows擦欧总系统提供给应用程序编程的接口窗口&#xff1a;一个Windows应用…

MFC程序开发概述

MFC程序开发概述 一&#xff1a;MFC类库的产生与发展 在Microsoft推出Windows 3.0之后&#xff0c;Windows操作系统受到越来越多的人的青睐。但是不久&#xff0c;开发人员开发撰写Windows 应用程序是重复&#xff0c;厌烦的过程&#xff0c;而且效率极低。因为每一个窗口都需…

Vim撤消和重做操作

While editing text files with vim we can make some little mistakes or want to revert to the previous states. In Microsoft Word there is features rich undo and revert functions. The similar undo and revert functionalities provided by vim too. 在用vim编辑文本…

idea如何使用git指令

&#xff08;1&#xff09;、打开setting,直接搜git (2)、点一下text 如果显示成功就不用管了&#xff0c;但如果失败就要重新设置一下目录&#xff1a; &#xff08;3&#xff09;、找到自己设置gitee ssh目录&#xff1a; 这里我们是不需要用.git对.idea进行管理的&#xff…

idea操作git流程(图文教程)

idea是jetbrain的一款java编辑器&#xff0c;jetbrain全家桶的编辑器都很好用&#xff0c;接下来就以图文的方式介绍&#xff0c;idea如何操作git 1. 首先你需要在自己电脑上安装一个Git&#xff0c;安装git的流程网上应该很多了&#xff0c;这里就跳过了&#xff0c;后续操作…

IDEA中使用Git的教程

&&前期准备工作 &配置git &配置Github 1.远程创建好GitHub仓库 2.打开Terminal窗口 3.创建README.md和.gitignore文件 $touch README.md $touch .gitignore xml .gitignore内容如下: *.class package files *.war *.ear kdiff3 ignore target/ ec…

在Idea中使用Git

一.在Idea中配置Git 安装好IntelliJ IDEA后&#xff0c;如果Git安装在默认路径下&#xff0c;那么idea会自动找到git的位置&#xff0c;如果更改了Git的安 装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口&#xff0c;找到Version Control下的git选 项&…

Git的理解以及在IDEA中的使用

目录 什么是版本控制 什么是Git 什么是GitHub Git、GitHub、Gitee的区别 git与GitHub GitHub和Gitee 下载安装Git IDEA中配置Git ​编辑 Gitee的使用 IDEA中使用 添加Gitee账号&#xff1a; 分享项目 设置仓库名字 更新项目 小组团队开发 成员拉取项目 数据库…

IDEA 中 Git的使用

1、Git简介 Git是目前流行的分布式版本管理系统。它拥有两套版本库&#xff0c;本地库和远程库&#xff0c;在不进行合并和删除之类的操作时这两套版本库互不影响。也因此其近乎所有的操作都是本地执行&#xff0c;所以在断网的情况下任然可以提交代码&#xff0c;切换分支。Gi…

IntelliJ IDEA 之 Git 使用

文章目录 1. 本地安装 Git2. IDEA 配置 Git3. 首次检出项目4. 项目分支创建5. 项目分支切换6. 项目刷新分支7. 分支代码提交8. 开发分支合并主分支代码9. 主分支合并开发分支代码10. 代码提交记录进行合并操作11. 常用操作的快捷方式12. 开发分支部分合并到主分支13. 主分支被强…

IDEA中项目集成git提交代码详细步骤

简介&#xff1a;在团队协作开发的过程中&#xff0c;好的代码管理能更加有效的使日常开发的过程中对各个开发人员提高开发速度。下面将详细介绍在IDEA中使用git提交代码的过程&#xff1a; IDEA中使用git提交代码 一&#xff1a;pull代码更新的结果&#xff1a;没有代码需要更…

关于idea使用git的简单说明

一、工具 1、安装git 2、idea 3、使用gitblit搭建服务器 可以参考这个文章&#xff1a;http://blog.csdn.net/u010690828/article/details/53735508 二、idea简单配置 首先idea需要设置git&#xff0c;按一下面步骤走 选择你安装的git, 注意&#xff1a;图上有两个选项&a…

如何在IDEA中使用Git

目录 01.在IDEA中配置Git02.在IDEA中使用Git将文件添加到暂存区03.在IDEA中使用Git将文件推送到远程仓库3.1.项目第一次推送至远程仓库报错问题解决&#xff1a; Push rejected: Push to origin/master was rejected 04.在IDEA中使用Git克隆远程仓库05.在IDEA中使用Git从远程仓…

在 IDEA 中使用 Git

1. 在IDEA中配置Git 点击 settings 找到 Version Control 下的 Git &#xff0c;并把 git.exe 的路径&#xff08;默认&#xff09;选入 在IDEA中使用Git&#xff0c;本质上还是使用的本地安装的Git软件&#xff0c;所以需要在IDEA中配置Git 然后点击 Test &#xff0c;出现版…

如何在IntelliJ IDEA中使用git

0.前言 本文主要讲述在IntelliJ IDEA中使用git的方法&#xff0c;git的原理、命令行使用及可视化图形工具的使用请听下回分解。 首先安装IntelliJ IDEA2018.2以及git 2.28.0 1.在IDEA中配置git 在File–>Settings–>Version Control中找到Git&#xff0c;或者直接搜索…

初次入职,git使用教程:如何在idea使用git拉取代码,提交代码,以及在gitlab上发起合并请求

git的使用相信是很多刚踏入程序员这一行朋友的痛点&#xff0c;刚入职的一段时间非常担心git用错&#xff0c;把别人的代码覆盖掉&#xff0c;下面我详细介绍一下如何在idea上使用git&#xff0c;拉取&#xff0c;提交代码&#xff0c;处理冲突&#xff0c;以及发起合并请求。 …

如何在IDEA 中玩转 Git

文章目录 前言一、基本配置二、clone三、分支四、pull总结 前言 Git 有很多客户端工具&#xff0c;不过感觉还是命令行操作最好用&#xff0c;方便又快捷&#xff0c;不过命令行操作需要小伙伴们对 Git 命令比较熟练&#xff0c;这可能对有的人来说会有一些难度&#xff0c;所…