NormalizeRect

来源:百度文库 编辑:神马文学网 时间:2024/04/29 05:10:26
本函数用来使CRect类的对象符合规范,使其高度和宽度均为正值。Windows系统通常使用四个象限的坐标系,因此矩形需要在四个象限被规范化。本成员函数比较上、下坐标的值,如果上坐标值大于下坐标的值,则将它们互换。类似的,如果左坐标的值大于右坐标的值,则将左、右坐标互换。当处理不同的映射模式和转化的矩形时,本成员函数是很有用的。
注意,下面的CRect类的成员函数为了正确地工作,需要规范化的矩形,它们是:成员函数Height、Width、Size、IsRectEmpty、PtInRect、EqualRect、UnionRect、IntersectRect、SubtractRect、operator   ==、operator   !=、operator   |、operator   |=、operator   &和operator   &=。
CRect rect1(110, 100, 250, 310);
CRect rect2(250, 310, 110, 100);
rect1.NormalizeRect();
rect2.NormalizeRect();
// rect1 should be unchanged
// rect2 becomes (110, 100, 250, 310)