画一个矩形的边界框

定义一个包含5个点(10个值)的数组,来画一个矩形的边界框,注意最后一个点与第一个点相同。现在,只需要使用MoveToEx移到第一个点,并对后面的点使用LineTo:

    int i;
POINT apt[5] = {100, 100, 200, 100, 200, 200, 100, 200, 100, 100} ;
MoveToEx(hDC,apt[0].x,apt[0].y,NULL);
for(i=1;i<5;i++)
{
LineTo(hDC,apt[i].x,apt[i].y);
}

当您要将数组中的点连接成线时,使用Polyline函数要简单得多。下面这条叙述画出与上面一段程序代码相同的矩形:

Polyline (hdc, apt, 5) ;

最后一个参数是点的数目。我们还可以使用(sizeof (apt) / sizeof (POINT))来表示这个值。Polyline与一个MoveToEx函数后面加几个LineTo函数的效果相同,但是,Polyline既不使用也不改变目前位置Polyline doesn't use or change the current position。PolylineTo有些不同,这个函数使用目前位置作为开始点,并将目前位置设定为最后一根线的终点

uses the current position for the starting point and sets the current position to the end of the last line drawn.

。下面的程序代码画出与上面所示一样的矩形:

MoveToEx (hdc, apt[0].x, apt[0].y, NULL) ;
        
PolylineTo (hdc, apt + 1, 4) ;
原文地址:https://www.cnblogs.com/youxin/p/2430996.html