windows 编程架构的通俗解释

图形界面的奥秘其实并不深奥。理解了窗口,事件, 消息,事件驱动模型就可以了。
如果理解有困难,可以练习windows 编程。
a. 什么是窗口
窗口是是一种外观,是用一堆象素画出来的,
窗口中的按钮,编辑矿,各种图标,无论是什么看起来像一个”物体“的东西,
本质上都是由应用程序或者是库或者是操作系统调用显卡的驱动, 在屏幕上通过画点绘画出来。
而这些”物体“,在windows中一般被称为控件(control)。
窗口的主要功能: 是维护自己的外观,显示一些东西和剪裁。

b. 图形界面的操控: 一般是通过鼠标和键盘来完成的。
鼠标:
在屏幕上有一个自己的形象,那就是一个箭头.
(当然你也可以调整这个图形为其他好玩的东西,it is your freedom)。
你点下鼠标的时候,你操作的就是鼠标的箭头尖端指向的那个空间,
键盘:
则一般表示为一个虚线的框,表示这个是键盘的”焦点“所在的地方。
或者是编辑框中闪动的竖杠。这两点中有一个共同点,就是都有一个位置来确定要操作的对象。
而键盘按下也是在其焦点所在的控件那儿放声。

c. 什么是事件。
点击了鼠标,敲击了键盘,这个就是有事件发生了。
发生的是什么呢?发生的过程从硬件层面到软件层面之后,
最终是被操作系统接收。操作系统能够知道你是点击的是鼠标还是键盘,
在什么一个地方点下的,而且按下的是左键还是右键。
操作系统还知道当前窗口各处摆放的位置。
综合各路的信息,操作系统能够把这个”事件“作为”消息“发送给哪个窗口来处理。

d. 什么是消息
消息是一个C中的结构体,其中有几个field中间放了有关这个事件的信息,

e. 什么是事件驱动
操作系统将事件封装成消息,然后就像一封信一样投递到了窗口所在的应用程序。
应用程序有一个事先注册的”窗口过程“,其实就是一个函数,用来接收这封“信”。

就是接收传递过来的参数。然后再进行一些判断,作出一定的响应。这个就是所谓的事件驱动


windows 编程, 就是事件驱动模型下消息处理函数的编程。

你可能感兴趣的:(编程,windows,通俗解释)