词条 | 矩形函式 |
释义 | 指向矩形结构的指标FillRect (hdc, &rect, hBrush) ; FrameRect (hdc, &rect, hBrush) ; InvertRect (hdc, &rect) ; 在这些函式中,rect参数是一个RECT型态的结构,它包含有4个栏位:left、top、right和bottom。这个结构中的坐标被当作逻辑坐标。 FillRect用指定画刷来填入矩形(直到但不包含right和bottom坐标),该函式不需要先将画刷选进装置内容。 FrameRect使用画刷画矩形框,但是不填入矩形。使用画刷画矩形看起来有点奇怪,因为对於我们所介绍过的函式(如Rectangle),其边线都是用目前画笔绘制的。FrameRect允许使用者画一个不一定为纯色的矩形框。该边界框为一个逻辑单位元宽。如果逻辑单位大于装置单位,则边界框将会为2个图素宽或者更宽。 InvertRect将矩形中所有图素翻转,1转换成0,0转换为1,该函式将白色区域转变成黑色,黑色区域转变为白色,绿色区域转变成洋红色。 Windows还提供了9个函式,使您可以更容易、更清楚地操作RECT结构。例如,要将RECT结构的四个栏位设定为特定值,通常使用如下的程式段: rect.left = xLeft ; rect.top = xTop ; rect.right = xRight ; rect.bottom = xBottom ; 但是,通过呼叫SetRect函式,只需要一道叙述就可以得到同样的结果: SetRect (&rect, xLeft, yTop, xRight, yBottom) ; 8个函式将矩形沿x轴和y轴移动几个单元: OffsetRect (&rect, x, y) ; 增减矩形的尺寸: InflateRect (&rect, x, y) ; 矩形各栏位设定为0: SetRectEmpty (&rect) ; 将矩形复制给另一个矩形: CopyRect (&DestRect, &SrcRect) ; 取得两个矩形的交集: IntersectRect (&DestRect, &SrcRect1, &SrcRect2) ; 取得两个矩形的联集: UnionRect (&DestRect, &SrcRect1, &SrcRect2) ; 确定矩形是否为空: bEmpty = IsRectEmpty (&rect) ; 确定点是否在矩形内: bInRect = PtInRect (&rect, point) ; 大多数情况下,与这些函式相同作用的程式码很简单。例如,您可以用下列叙述来替代CopyRect函式呼叫: DestRect = SrcRect ; |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。