一个Microwindows应用程序的入口点是WinMain函数,而不是通常情况下的Main()。在Microwindows API中,最基本的显示单元是窗口,窗口定义了一个显示区域和与其相关的各种消息的处理函数。可以通过预定的类型,如按键(button)、文本框(editboxs)等来定制窗口,同时也可以由用户定义特殊的类型。无论通过什么方式定义类型,创建窗口和消息通讯的方法是相同的。与创建和消除窗口相关的函数有RegisterClass、UnRegisterClass、CerateWindowEx、DestroyWindow、GetWindowLong和SetWindowLong。
窗口的显示和移动
ShowWindow函数允许设备窗口属性为可视或者隐藏。该属性也可以在窗口创建的过程中由CreateWindowEx实现。窗口的移动包括窗口位置或者大小的变化。当窗口位置改变时,系统发送WM_MOVE消息;当窗口大小改变时,系统发送WM_SIZE消息。
窗口绘制
在其它窗口发生移动,导致某一窗口需要被绘制或重新绘制时,Microwindows系统会发送WM_PAINT消息给相关的窗口过程。这时,由应用程序决定调用图形操作函数来绘制窗口。Micro windows为每个窗口维护一个update域,当update非空时就向窗口发送WM_PAINT消息。为了速度方面考虑,WM_PAINT消息只在应用程序队列里没有其它消息的情况下才会发送,这保证了应用程序对窗口的重绘可以一步完成,而不会被分割成好多步骤。如果不希望等待,可以调用UpdateWindow函数强制进行窗口重绘。
窗口区域和绝对坐标
每一个窗口在显示屏上绘制时,都应参照显示屏像素点的绝对坐标进行。Microwindows API允许应用程序编程人员在窗口中不包括标题栏的区域内使用以窗口左上角为基准的相对坐标,这部分区域称为客户区域。GetClientRect函数和GetWindowRect函数将返回客户区域和窗口的绝对坐标。ClientTo Screen函数和ScreenToClient函数则完成绝对坐标与相对坐标之间的相互转换。
0
|
|
|
|