GUI框架
既然我们上文中提到了当前最主流的交互方式就是图形化交互,我们就来看看图形用户界面的基本结构。现在普遍的系统上都会有一个应用程序框架,而这类框架都会提供一个GUI(Graphics User Interface),有了GUI,作为应用程序的普通开发者就不需要去关注如何去监听用户的事件,如何去调度各个程序之间的窗口(窗口直接的覆盖,隐藏,激活,调度等),窗口的绘制,图形的绘制,等等。
一个典型的GUI框架要处理:
1.事件的接收和分发;
2.窗口的调度;
3.图形的绘制 。
所以一个典型的GUI框架需要包括:事件管理器,窗口管理器;图形设备接口(GDI)。基本结构如上图:
而一般的数据流图如下:
可见,在我们的应用程序之下,GUI框架已经做了很多底层的工作,而掌握GUI的运行原则和规律也是很有必要的。目前有很多的GUI框架,
比如symbian系统上的S60UI框架,windows的MFC框架,android的gui框架,QT框架。
GUI里有一个最重要的概念就是“窗口”,当然可能各个系统对此的称呼不同。但它们都具有这些功能:可以处理消息,有一个可显示矩形区域,可以绘制重绘(所以窗口也是个绘图设备),有的可以改变尺寸大小。在GUI的世界里,可以把一切都看成是窗口,桌面也是窗口(根窗口)。
https://blog.csdn.net/guanjungao/article/details/45789357
我思故我在