这个恐怕没这么容易。
以下是我对Windows系统图形界面的发展进行的简单分析,大家看看需要实现到哪个层次。
图形界面的实现层次
~~~~~~~~~~~~~~~~~~
0.单一屏幕。实际上就是一个显卡驱动。
1.模态对话框。对话框弹出后,只能在该对话框上进行操作。
2.窗口分区管理与多屏幕切换。这样可以模拟用任务栏切换应用程序。
3.支持窗口剪裁,支持重叠窗口。专业图形界面的核心技术,使画面更新不会影响其他窗口,大大提高绘图效率。
4.层次化窗口模型,支持永在顶层的窗口。此时可把控件看作一般的子窗口。
5.支持MDI窗口。MDI窗口之间有着复杂的通信需求。
6.弹出式窗口与非模态对话框。弹出式窗口在所有者窗口之前,如对话框与主窗口的关系、浮动面板与主窗口的关系。顺便可以考虑对浮动面板的支持。
7.支持窗口间的拖曳操作,支持OLE嵌入与激活。该问题涉及到多个应用程序的协调问题,传统的消息机制对此极为勉强,所以Windows系统采用了COM组件对象模型。
8.支持DirectX。全屏模式还好,窗口模式就很复杂了,DirectX窗口是必须立即更新到屏幕的,对窗口剪裁机制是一个很严峻的考验。
9.支持Alpha透明窗口。该问题已经难以用传统窗口剪裁来处理了,必须先依靠窗口剪裁机制将Alpha窗口的范围计算出来,然后合并图层,再一次性将数据发送到显示屏。
10.每个窗口都是一个视频表面。该方法完全抛弃了传统的窗口剪裁机制,利用现代强大的3D加速卡来实现层次化窗口模型,资源消耗极大。
术语
~~~~
屏幕:整个显示屏,或者指除开任务栏后的显示区域。
窗口分区管理:允许屏幕上显示多个窗口,但窗口之间不能重叠。
多屏幕切换:存在多个屏幕,但只允许其中一个成为主屏幕,其他屏幕隐藏。
Windows系统的实现层次
~~~~~~~~~~~~~~~~~~~~~
0.
1.
2. Windows 1.0
3.
4. Windows 2.0
5.
6. Windows 3.0
7.
8. Windows NT 4.0*, Windows 95*, Windows 98
9. Windows 2000, Windows XP, Windows 2003
10. Windows Vista
一些相关问题
~~~~~~~~~~~~
1. GDI子系统的设计。Turbo C级别?GDI级别?GDI+级别?PhotoShop级别?
2. 用户界面子系统的设计。支持滚动条的窗口的设计,菜单与工具栏统一事件处理机制,ToolTip、ErrorProvider等为多个窗口服务的控件设计。
3. 多语言支持问题。如从右向左书写的阿拉伯文。
4. MMX/3DNow!/SSE/SSE2/SSE3/SSE4 的支持性问题。是否需要做CPU与进程管理模块。
[ Last edited by zyl910 on 2007-9-24 at 10:35 AM ]
人类存在的目的就是试图理解人类为何存在