当前位置:C++技术网 > 资讯 > 你必须知道的程序那些事:5 程序界面有哪些类型的

你必须知道的程序那些事:5 程序界面有哪些类型的

更新时间:2015-07-02 22:43:17浏览次数:1+次

    回想当年自己学习C语言时,学完后写了个计算器,是控制台的程序。黑乎乎的一个窗口,看上去似乎挺神秘的,但是却拿不出手。虽然实现了完整的计算控制流程,有菜单选择,但是总感觉不是那么回事。当时我也不知道怎么写出Windows中的那种计算器。很长一段时间都没有搞明白(因为我是非计算机专业的,周围的同学对于编程,完全不知道,全靠自己在网上找资料)。
    似乎过了很久,后来也不知道怎么就接触了Windows编程,应该是在网上查了资料,得到了启发,然后买书看视频之类的,慢慢的就认识了还有Win32 编程,就这样可以写出带有窗口的程序,不再是黑乎乎的控制台了。才发现,原来的程序都是控制台程序。哈哈哈。从此就开始了win32学习之旅。后来就顺着学习了MFC,一直在Win32平台下,用MFC做开发。
    后来,发现很多初学的朋友都很疑惑,到底怎么写出界面的程序,很不解的。我看到了当年我初学的影子。所以,现在要写一篇关于这方面的文章,目的是给初学者看,让其尽快找到方向。
    根据我的理解,程序大致分为这么些(根据界面分):
1.无界面的:
    无界面的程序开发,一般用于开发服务器程序、工具库等。比如后台的火车票购买程序,运行在服务器端的程序,是不需要界面的,重点对业务进行管理实现。还有各种实现某一些功能的,如数据分析引擎,负责对输入的数据进行分析,然后将结果输出。这些数据分析引擎,内部只有一些算法,执行数据分析。比如搜索引擎。它是不需要界面的,任何程序需要,都可以使用这个引擎,所以,界面和引擎是分开的。而开发引擎就是无界面的。这些程序重点就是算法了,需要强大的算法基础。用什么语言都是次要的。一般使用C/C++实现,效率高,比较适合。还有一些各种各样的基础库的开发,都是实现功能,提供给二次开发的。此类型的程序,只要在代码中写纯算法或者其他与界面无关的操作就行了,用控制台也可以,用win32也可以,它只是一个算法而已,因此与界面平台没有关系,在任何平台都可以。只要要编译成各个平台,要使用相应的平台的编译器就可以了。
2.控制台界面(黑窗口):
    控制台程序,嘿嘿,就是我们最为常见的程序了。因为大家一开始学C语言,写出来的就是控制台程序了。它是使用Dos命令窗口来显示界面。因为控制台程序,一般都是单线程程序,因此使用控制台形式就是很合适的。很早以前的Windows系统,则是基于DOS窗口的系统。现在为了保留这些特性,依然提供了一个模拟的DOS窗口。也就是说,我们现在的窗口的DOS窗口是模拟的DOS系统,不是真正的DOS系统。DOS系统是一种操作系统哦,用于管理计算机的。程序开发中,DOS窗口的就叫做控制台程序了。创建工程项目时,现在控制台项目,创建的就是控制台程序了。
3.标准的Windows窗口界面:
    一般我们把windows标准窗口程序叫做win32程序。因为是widows的32位操作系统的标准程序。使用的界面也是标准的界面。这种程序就是Windows API直接写的程序。所有操作系统实现的功能,使用API基本都能实现。我们使用各种工具库比如MFC、QT等写的程序,都是在内部调用操作系统 API的,所有,API可以实现所有功能,而工具库有的可能就实现不了,还要调用API解决。在创建工程项目时,要选择Win32项目类型,则创建的是标准的Windows程序,最原始的Windows程序。而使用各种工具库的窗口程序项目类型,则是工具库对标准程序进行了包装。一般开发时,都会使用工具包装的,因为这样就不用去管那些基本的东西,因为工具库帮我们做好了。
    很多人一开始不知道还有Win32程序这个东西,事实上,使用windows系统则是天天和这样的程序打交道。只是不会去开发罢了。这个就要去学习win32编程了。
4.各种界面库实现的界面:
    这种程序就是我们现在经常见到的很花哨的程序界面了。现在流行平面化的界面了,而不是以前的三位的凸起的界面了。平面化的界面的程序,也不是很神奇的东西。可以参考《让窗口作为背景进度条实现方法详细讲解 》、《创建不规则窗口-心形窗口》和《在客户区拖动窗口(拖动无边框窗口)两种实现方法及原理分析》。
    当然,我们这里实现的是最基本的,只是演示使用。而正式的软件程序,则肯定不是这么简单的实现的。当然,也只不过是对一些控件的重载,实现各种花哨的界面。这些程序基本都有一套界面库,有的是在第三方购买的界面库,有的是自己开发的界面库。所谓的界面库,简单来说,就是对基本控件进行重载,实现美观精致的控件界面,以及提供一套界面机制。而这些机制,在实际开发中可能会用到。以前在公司,就使用了一个第三方的界面库,叫做BCG库。这个库是商业库,需要购买才行。而VS中,则集成了Ribbon库。Ribbon 最早应用于 Office 2007 中,后来也被运用到Windows 7的一些附件中,如画图(Paint)和写字板(Write)。在Windows 8、Windows 8.1及Windows 10中,Ribbon 被运用到文件资源管理器(File Explorer)中。因此,我们可以在自己的程序中,实现这种界面。
    网上也有各种开源界面库,可以下载使用。使用界面库,可以轻松让界面变得漂亮。使用方法和一般IDE的界面控件的使用类似,具体的使用,请参考具体的界面库使用说明。
    以上就是这几种程序界面类型,如果有说的不正确的或者疏漏的地方,请留言哦。