Windows还提供了9个函式,使您可以更容易、更清楚地操作RECT结构。例如,要将RECT结构的四个栏位设定为特定值,通常使用如下的程式段:
但是,通过呼叫SetRect函式,只需要一道叙述就可以得到同样的结果:
在您想要做以下事情之一时,可以很方便地选用其他8个函式:
OffsetRect (&rect, x, y) ;
InflateRect (&rect, x, y) ;
SetRectEmpty (&rect) ;
CopyRect (&DestRect, &SrcRect) ;
IntersectRect (&DestRect, &SrcRect1, &SrcRect2) ;
UnionRect (&DestRect, &SrcRect1, &SrcRect2) ;
bEmpty = IsRectEmpty (&rect) ;
bInRect = PtInRect (&rect, point) ;
大多数情况下,与这些函式相同作用的程式码很简单。例如,您可以用下列叙述来替代CopyRect函式呼叫:
随机矩形
在图形系统中,有这么一个「永远」有人执行的有趣程式,它简单地使用随机的大小和色彩绘制一系列矩形。您可以在Windows中建立一个这样的程式,但是它并不像乍看起来那样容易编写。我希望您能认识到,您不能简单地在WM_PAINT讯息中使用一个while(TRUE)回圈。当然,它能够执行,但是程式将停止对其他讯息的处理,同时,这个程式不能中止或者最小化。
一种可以接受的方法是设定一个Windows计时器,给视窗