请输入您要查询的百科知识:

 

词条 矩形函式
释义

指向矩形结构的指标

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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/25 11:40:14