天天看点

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

作者:软件界面开发

1.前言

2023年,UI设计大前端时代,360安全卫士软件界面依旧采用Visual C++ 编写界面,小编认为主要原因是:Windows系统版本之间的兼容性、程序运行速度快、用户体验好、性能稳定、内存使用空间占用极小等特性,而这恰恰是Visual C++ MFC开发框架的优势,大家印象中的MFC很难实现漂亮美观的界面,而实际上熟练的Visual C++程序员也可以轻松实现非常漂亮的界面,并且经得起时间的锤炼成为经典耐用的好产品,好比苹果的IOS系统采用C++用户丝滑体验永远快Android一步。

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

图1、大家印象中的WinUI/WPF/WinForm/MFC界面对比图

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

图2、基于Visual C++编写的360安全卫士界面

2.Visual C++与MFC框架概况

Microsoft Visual C++(简称Visual C++、MSVC、VS或VC)是微软公司的免费C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。VC++集成了便利的除错工具,特别是集成了微软Windows视窗操作系统应用程序接口(Windows API)、三维动画DirectX API,Microsoft .NET框架。

MFC (Microsoft Foundation Classes)是微软基础类库的简称,是微软公司实现的一个C++类库,主要封装了大部分的windows API函数,Visual C++是微软公司开发的C/C++的集成开发环境,所谓集成开发环境,就是说利用它可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。VC也指它的内部编译器,集成开发环境必须有一个编译器内核。

MFC除了是一个类库以外,还是一个框架,在VC++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了MFC内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。但是MFC的封装很浅,所以效率上损失不大。

表1、MFC开发框架的优劣势

优势

(1)程序占用空间小

编译的可运行程序可小至几Kb 字节,运行内存占用也极小。

(2)性能优异

MFC封装了Win32API,OLEAPI,ODBCAPI等底层函数的功能,并提供更高一层的接口,简化了Windows编程。同时,MFC支持对底层API的直接调用。

(3) 兼容性强

适用于微软系列所有操作系统,包括:Windows XP/Vista/7/8/10/11/12、Windows Server 2002/2003/2008/2012/2022、Windows Embedded等各个客户端和服务端版本系统。

(4)运行环境要求低。

可用于64M内存以上各种环境,譬如:基于arm芯片的Windows CE嵌入式系统等。

劣势

1. 门槛相对较高

2. 开发效率较低

3. 美化界面较难。

主要应用场景:对性能要求高和用户体验好的场景,常应用于工业控制、医疗影像、机器人、AI算法、音视频、系统工具等领域。

3. Visual C++ 项目开发

Microsoft Visual C++ 6.0是最为经典的一款IDE,经久不衰,研发的产品生命力极其顽强,以致于Microsoft Visual C++ 2022仍保留原界面风格,后续功能升级较少。

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

图3、Visual C++ 6.0软件启动界面

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

图4、Visual C++ 6.0新建项目界面

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

图5、Visual Studio 2022软件启动界面

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

图6、Visual C++ 2022 新建项目界面

4. Visual C++ 项目界面美化

为了让软件能在视觉上给用户带来一种清新的感觉,从而避免潜在的用户视觉疲劳和审美疲劳,软件一般都要经过专业的界面设计和美化。

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

图7、Visual C++ 项目界面布局示例

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

图8、Visual C++ 项目界面美化后运行图

Windows平台开发框架之MFC:Visual C++ MFC开发界面又丑又难吗?

图9、Visual C++ MFC软件界面美化示例图

5、结束语

Visual C++ / MFC的世界,仍受不少IT专家和程序员的喜爱,在无论是否技术落后或沉幕,都应该理性对待乐观面对,选择适合企业战略要求的软件开发框架才是最佳选择。认真总结和分析曾经作品的缺陷和存在的不足之处,客观面对研发思路和存在的差距,别在意一时之得失。对自己要有足够的信心,坚信自己的选择,做到在创作中不断学习和成长进步,才能在今后的创作中做出好作品,改变当前被动的现状。

继续阅读