CPoint
CPoint 类 与 W indows POINT 结 构 类 似 。 它 还 包 括 用 来 操 纵 CPoint 和 POINT 结构 的 成 员 函 数 。
只 要 POINT 结 构 可 以 使 用 的 地 方 , CPoint 对 象 也 可 以 使 用 。 这 个 类 与 “ 大 小 ” 有 关 的 操 作 符 可 以 接 受 CSize 对 象 或 SIZE 结 构 , 因 为 这 两 者 是 可 以 互 换 的 。
注 意 这 个 类 派 生 于 tagPOINT 结 构 ( 名 字 tagPOINT 是 POINT 结 构 的 不太 常 用 的 有 关 名 字 )。这 意 味 着 POINT 结 构 的 数 据 成 员 ,x 和 y ,也 是 CPoint 的 可 以 访 问 的 数 据 成 员 。
#include <afxwin.h>
请 参 阅 CRec t, CSize
CPoint 类 成 员
Construction
Cpoint 构 造 一 个 CPoint
Operations
Offset 给 CPoint 的 x 和 y 成 员 增 加 值
Operator == 检 查 两 个 点 是 否 相 等
Operator != 检 查 两 个 点 是 否 不 等
Operators R et urning C P oint Values
O perator += 通 过 增 加 一 个 尺 寸 或 点 来 使 CPoint 偏移
O perator -= |
通 过 减 去 一 个 尺 寸 或 点 来 使 CPoint 偏移 |
||
---|---|---|---|
Operator + |
返 回 一 个 CPoint 和 一 个 尺 寸 或 点 的 和 |
||
Operator – |
返 回 一 个 CPoint 和 一 个 尺 寸 或 点 的 偏 差 , 或 一 个 点 的 不 存 在 |
||
Operators |
Retu rning |
C S ize |
|
Values |
|||
Operator – |
返 回 两 点 之 间 的 大 小 差 别 |
O perators Values |
Retu rning |
C R ect |
|
---|---|---|---|
Operator + Operator – |
返 回 偏 移 一 个 大 小 的 CRect 返 回 偏 移 一 个 负 大 小 的 Crect |
成 员 函 数
CPoint:: CPoint
CPoint();
CPoint( int initX , int initY ); CPoint( POINT initPt ); CPoint( SIZE initSize ); CPoint( DWORD dwPoint );
参 数
initX
指定 CPoint 的 成 员 x 的 值 。
initY
指定 CPoint 的 成 员 y 的 值 。
initPt
用 于 初 始 化 此 CPoint 的 一 个 POINT 结 构 或 CPoint 对 象 。
initSize
用 于 初 始 化 C P oint 值 的 SIZE 结 构 或 C S ize 。
dwPoint
设 此 参 数 的 低 位 字 为 x 成 员 , 高 位 字 为 y 成 员 。
说 明
构 造 一 个 CPoint 对 象 。 如 果 不 给 参 数 , 则 不 初 始 化 x 和 y 成 员 。
CPoint:: Offset
void Offset( int xOffse t, int yOffset ) void Offset( POINT point );
void Offset ( SIZE size );
参 数
xOffset
指定 CPoint 的 x 成 员 的 偏 移 量 。
yOffset
指定 CPoint 的 y 成 员 的 偏 移 量 。
point
指 定 偏 移 此 CPoint 的 数 量 ( POINT 或 CPoin t) 。
size
指 定 偏 移 此 CPoint 的 数 量 ( SIZE 或 CSize )。
此 函 数 将 偏 移 值 增 加 到 CPoint 的 x 和 y 成 员 。
请 参 阅 CPoint::operator += , CPoint::operator -=
操 作 符
CPoint::operator ==
BOOL operator ==(POINT poin t) const;
返 回 值
如 果 两 点 相 等 则 返 回 非 零 值 ; 否 则 返 回 0 。
point
包 含 一 个 POINT 结 构 或 CPoint 对 象 。
说 明
此 函 数 用 来 检 查 两 个 点 是 否 相 等 。
请 参 阅 CPoint::Operator !=
CPoint::operator !=
BOOL operator != ( POINT point ) const;
返 回 值
如 果 两 点 不 相 等 则 返 回 非 零 值 ; 否 则 返 回 0 。
point
包 含 一 个 POINT 结 构 或 CPoint 对 象 。
说 明
此 成 员 函 数 用 来 检 查 两 个 点 是 否 不 等 。
请 参 阅 CPoint::Operator ==
CPoint::operator +=
void operator +=( SIZE size ); void operator +=( POINT point );
参 数
size
包 含 一 个 SIZE 结 构 或 CSize 对 象 。
point
包 含 一 个 POINT 结 构 或 CPoint 对 象 。
说 明
第 一 种 形 式 给 CPoint 增 加 一 个 大 小 。第 二 种 形 式 给 CPoint 增 加 一 个 点 。
在 这 两 种 格 式 中 , 都 是 将 右 边 操 作 数 的 x ( 或 cx ) 成 员 加 到 CPoint 的 x 成 员 , 将 右 边 操 作 数 的 y( 或 cy ) 成 员 加 到 CPoint 的 y 成 员 。
例 如 , 将 CPoin t(5, -7)加 到 一 个 包 含 CPoint(30,40) 的 变 量 上 , 则 变 量 的 值 变 为
CPoint(35 , 33)。
请 参 阅 CPoint::operator -= , CPoint::operator + , CPoint::Offset
CPoint::operator -=
void operator -=( SIZE size ); void operator -=( POINT poin t);
参 数
size
包 含 一 个 SIZE 结 构 或 CSize 对 象 。
point
包 含 一 个 POINT 结 构 或 CPoint 对 象 。
说 明
第 一 种 形 式 从 CPoint 减 去 一 个 大 小 。第 二 种 形 式 给 CPoint 减 去 一 个 点 。
在 这 两 种 格 式 中 , 都 是 从 CPoint 的 x 成 员 中 减 去 右 边 操 作 数 的 x(或 cx )成员 ,
从 CPoint 的 y 成 员 中 减 去 右 边 操 作 数 的 y( 或 c y) 成 员 。
例 如 , 将 CPoin t(5, -7)从 一 个 包 含 CPoint(30,40 )的 变 量 中 减 去 , 则 变 量 的 值 变为 CPoint(25, 47 ) 。
请 参 阅 CPoint::operator -, CPoint::operator += , CPoint::Offset
CPoint::operator +
CPoint operator +( SIZE size ) const; CPoint operator +( POINT point ) const;
CRect operator +( const RECT* lpRect ) const;
返 回 值
返 回 一 个 偏 移 一 个 大 小 的 CPoin t, 一 个 偏 移 一 个 点 的 CPoint , 或 者 是 一 个 偏 移一 个 点 的 CRect 。
参 数
size
包 含 一 个 SIZE 结 构 或 CSize 对 象 。
point
包 含 一 个 POINT 结 构 或 CPoint 对 象 。
lpRect
包 含 一 个 指 向 RECT 结 构 或 CRect 对 象 的 指 针 。
说 明
此 操 作 符 用 来 将 一 个 CPoint 偏 移 一 个 CPoint 或 一 个 CSize 对 象 , 或 者 是 将 一个 CRect 对 象 偏 移 一 个 CPoint。
例 如 , 使 用 前 两 种 格 式 可 以 做 到 , 将 点 CPoint(25,-19 )偏 移 一 个 点 CPoint(15,5)
或 偏 移 一 个 大 小 CSize(15,5), 其 结 果 都 是 返 回 CPoint(40,-14);
将 一 个 矩 形 与 一 个 点 相 加 , 返 回 的 是 偏 移 了 点 中 所 指 定 的 x 和 y 值 之 后 的 矩 形 。例 如 , 使 用 最 后 一 种 格 式 可 以 将 矩 形 CRect(125,219,325,419 ) 偏 移 一 个 点CPoint(25,-19), 其 结 果 是 返 回 一 个 矩 形 CRect(150,200,350,400)。
请 参 阅 CPoint::operator -= , CPoint::operator- , CPoint::operator += ,
CSize::operator + ,
CRect::operator + , CPoint::Offset , CRect::OffsetRect
CPoint::operator -
CSize operator – ( POINT point ) const; CPoint operator – ( SIZE size ) const;
CRect operator – ( const RECT* lpRect ) const; CPoint operator – () const;
返 回 表 示 两 点 之 间 偏 差 的 CSize , 或 是 加 上 了 负 的 size 偏 移 的 CPoint, 或 是 加上 了 负 的 point 偏 移 的 CRect , 或 是 CPoint 等 于 负 的 point 。
参 数
size
包 含 一 个 SIZE 结 构 或 CSize 对 象 。
point
包 含 一 个 POINT 结 构 或 CPoint 对 象 。
lpRect
包 含 一 个 指 向 RECT 结 构 或 CRect 对 象 的 指 针 。
使 用 前 两 种 格 式 来 从 CPoint 中 减 去 一 个 CPoint 或 CSize 。 第 三 种 格 式 在 Rect 上 加 上 负 的 CPoint 所 表 示 的 偏 移 。 最 后 一 种 格 式 使 用 一 元 操 作 符 来 对 CPoint 取 负 值 。
例 如 , 用 第 一 种 格 式 来 查 找 两 个 点 CPoint(25,-19) 和 CPoint(15,5) 之 间 的 差 异 , 则 返 回 的 是 CSize(10,-24)。
从 CPoint 中 减 去 CSize , 所 进 行 的 计 算 与 上 面 是 一 样 的 , 但 是 返 回 的 是 一 个CPoint 对 象 ,而 不 是 一 个 CSize 对 象 。例 如 ,用 第 二 种 格 式 来 查 找 点 CPoint(25,-19) 和 大 小 CSize(15,5) 之 间 的 差 异 , 则 返 回 的 是 CPoint(10,-24)。
从 一 个 点 中 减 去 一 个 矩 形 , 返 回 的 是 偏 移 了 点 中 所 指 定 的 x 和 y 的 负 值 之 后 的矩 形 。 例 如 , 用 最 后 一 种 格 式 来 将 矩 形 CRect(125,200,325,400) 偏 移 一 个 点
CPoint(25 ,- 19), 则 返 回 的 是 矩 形 CRect(100,219,300,419)。
使 用 一 个 一 元 操 作 符 来 取 一 个 点 的 负 值 。 例 如 , 对 点 CPoint(25,-19) 使 用 一 元 操作 符 , 则 返 回 的 是 CPoint(-25,19)。
请 参 阅 CPoint::operator -= , CPoint::operator += , CPoint::operator + ,
CSize::operator + ,
CRect::operator + , CPoint::Offset , CRect::OffsetRect