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