1.前言
2023年,UI设计大前端时代,360安全卫士软件界面依旧采用Visual C++ 编写界面,小编认为主要原因是:Windows系统版本之间的兼容性、程序运行速度快、用户体验好、性能稳定、内存使用空间占用极小等特性,而这恰恰是Visual C++ MFC开发框架的优势,大家印象中的MFC很难实现漂亮美观的界面,而实际上熟练的Visual C++程序员也可以轻松实现非常漂亮的界面,并且经得起时间的锤炼成为经典耐用的好产品,好比苹果的IOS系统采用C++用户丝滑体验永远快Android一步。
图1、大家印象中的WinUI/WPF/WinForm/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仍保留原界面风格,后续功能升级较少。
图3、Visual C++ 6.0软件启动界面
图4、Visual C++ 6.0新建项目界面
图5、Visual Studio 2022软件启动界面
图6、Visual C++ 2022 新建项目界面
4. Visual C++ 项目界面美化
为了让软件能在视觉上给用户带来一种清新的感觉,从而避免潜在的用户视觉疲劳和审美疲劳,软件一般都要经过专业的界面设计和美化。
图7、Visual C++ 项目界面布局示例
图8、Visual C++ 项目界面美化后运行图
图9、Visual C++ MFC软件界面美化示例图
5、结束语
Visual C++ / MFC的世界,仍受不少IT专家和程序员的喜爱,在无论是否技术落后或沉幕,都应该理性对待乐观面对,选择适合企业战略要求的软件开发框架才是最佳选择。认真总结和分析曾经作品的缺陷和存在的不足之处,客观面对研发思路和存在的差距,别在意一时之得失。对自己要有足够的信心,坚信自己的选择,做到在创作中不断学习和成长进步,才能在今后的创作中做出好作品,改变当前被动的现状。