[转]CPoint+CSize+CRect学习大纲


CPoint+CSize+CRect学习大纲。

////////////////////////////////////////////////////////////////////////////////
熟知CPoint、CSize、CRect类的基类
class CPoint : public tagPOINT
class CSize : public tagSIZE
class CRect : public tagRECT

////////////////////////////////////////////////////////////////////////////////
留意CPoint、CSize、CRect之间的互操作,什么样的操作会涉及这些类型中的两个或多个。
Point - Point => Size
Point - Size  => Point
Point - Rect  => Rect
Point + Point => Point
Point + Size  => Point
Point + Rect  => Rect
Size  - Point => Point
Size  - Size  => Size
Size  - Rect  => Rect
Size  + Point => Point
Size  + Size  => Size
Size  + Rect  => Rect
Rect  - Point => Rect
Rect  - Size  => Rect
Rect  - Rect  => Rect
Rect  + Point => Rect
Rect  + Size  => Rect
Rect  + Rect  => Rect

////////////////////////////////////////////////////////////////////////////////
掌握CPoint类以下成员

// 数据
x
y
// 构造
CPoint
// 运算
Offset
operator –
operator +
operator +=
operator –=
// 比较
operator !=
operator ==

////////////////////////////////////////////////////////////////////////////////
掌握CSize类以下成员

// 数据
cx
cy
// 构造
CSize
// 运算
operator –
operator +
operator +=
operator –=
// 比较
operator !=
operator ==

////////////////////////////////////////////////////////////////////////////////
掌握CRect类以下成员

// 数据
left
top
right
bottom
// 构造
CRect
SetRect
CopyRect
// 属性
TopLeft
BottomRight
Width
Height
Size
CenterPoint
// 存在性
IsRectEmpty
SetRectEmpty
IsRectNull
// 比较
PtInRect
EqualRect
// 修改
MoveToX
MoveToY
MoveToXY
OffsetRect
InflateRect
DeflateRect
NormalizeRect
SubtractRect
IntersectRect
UnionRect
// 运算符
operator LPCRECT
operator LPRECT
operator =
operator !=
operator ==
operator –
operator +
operator &
operator |
operator +=
operator –=
operator &=
operator |=

////////////////////////////////////////////////////////////////////////////////
掌握CPoint、CSize、CRect之间的互操作,什么样的操作会涉及这些类型中的两个或多个。
Point - Point => Size
Point - Size  => Point
Point - Rect  => Rect
Point + Point => Point
Point + Size  => Point
Point + Rect  => Rect
Size  - Point => Point
Size  - Size  => Size
Size  - Rect  => Rect
Size  + Point => Point
Size  + Size  => Size
Size  + Rect  => Rect
Rect  - Point => Rect
Rect  - Size  => Rect
Rect  - Rect  => Rect
Rect  + Point => Rect
Rect  + Size  => Rect
Rect  + Rect  => Rect
  * 加法满足交换律
  * 运算不可以移项
  * 与Rect有交的运算都产生Rect

posted on 2012-07-13 20:24  龙猫先生  阅读(236)  评论(0编辑  收藏  举报

导航