=

CRect::PtInRect

BOOL PtInRect( POINT point ) const;

返 回 值

如 果 点 位 于 CRect 中 , 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

point

包 含 一 个 POINT 结 构 或 CPoint 对 象 。

说 明

此 函 数 用 来 确 定 一 个 指 定 的 点 是 否 在 CRect 内 。 如 果 这 个 点 在 CRect 的 左 边 和上 边 上 , 或 在 四 个 边 之 内 , 则 称 此 点 在 CRect 之 内 。 点 在 CRect 的 右 边 或 底 边上 , 则 称 点 在 CRect 外。

注 意 这 个 矩 形 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在 调 用

此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::NormalizeRect, ::PtInRect

CRect::SetRect

void SetRect( int x1 , int y1 , int x2 , int y2 );

参 数

x1

指 定 左 上 角 的 x 坐 标 。

y2

指 定 左 上 角 的 y 坐 标 。

x2

指 定 右 下 角 的 x 坐 标 。

y2

指 定 右 下 角 的 y 坐 标 。

说 明

此 函 数 将 CRect 的 各 个 坐 标 设 置 为 指 定 的 坐 标 值 。

请 参 阅 CRect::CRect, CRect::operator =, CRect::CopyRect, CRect::SetRectEmpty, ::SetRect

CRect::SetRectEmpty

void SetRectEmpty();

说 明

此 函 数 通 过 将 CRect 的 所 有 坐 标 设 置 为 零 来 使 CRect 成 为 一 个 空 矩 形 。

请 参 阅 CRect::CRect, CRect::SetRect, CRect::CopyRect, CRect::operator =,

CRect::Size CSize Size() const; 返 回 值

返 回 一 个 包 含 CRect 的 尺 寸 的 CSize 对 象 。

说 明

返 回 值 的 cxcy 成 员 包 含 了 CRect 的 高 度 和 宽 度 。 高 度 和 宽 度 都 可 以 是 负 值 。

注 意 这 个 矩 形 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在 调 用此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::Height, CRect::Width, CRect::IsRectEmpty, CRect::IsRectNull,

CRect::SubtractRect

BOOL SubtractRect( LPCRECT lpRectSrc1 , LPCRECT lpRectSrc2 );

返 回 值

如 果 函 数 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

lpRectSrc1

指 向 一 个 RECT 结 构 或 CRect 对 象 , 将 从 这 个 结 构 或 对 象 中 减 去 某 个 矩 形 。

lpRectSrc2

指 向 一 个 RECT 结 构 或 CRect 对 象 , 将 从 由 lpRectSrc1 参 数 指 定 的 矩 形中 减 去 这 个 结 构 或 对 象 。

说 明

该 函 数 使 一 个 CRect 对 象 的 尺 寸 等 于 从 lpRectSrc1 中 减 去 lpRectSrc2 的 差 , 这个 差 值 是 一 个 包 含 所 有 在 lpRectScr1 内 , 而 不 在 lpRectScr1lpRectScr2 的 交之 中 的 点 的 最 小 矩 形 。

如 果 由 lpRectScr2 指 定 的 矩 形 和 由 lpRectScr1 指 定 的 矩 形 没 有 在 x 或 y 方 向 之一 的 方 向 上 重 叠 , 则 由 lpRectScr1 指 定 的 矩 形 将 没 有 改 变 。

例 如 , 如 果 lpRectScr1 是 ( 10 , 10 , 100 , 100 ) , lpRectScr2 是 ( 50 , 50 , 150 , 150 ,) 则当函数返回时,由 lpRectScr1 指 定 的 矩 形 将 没 有 改 变 。如 果 lpRectScr1 是 ( 10 , 10 , 100 , 100 , ) , lpRectScr2 是 ( 50 , 10 , 150 , 150 ) , 则 当 函 数返 回 时 , 由 lpRectScr1 指 定 的 矩 形 将 包 含 坐 标 ( 10 , 10 , 50 , 100 ) 。

SubtractRect 与 操 作 符 - 和 操 作 符 -= 是 不 一 样 的 。 这 两 个 操 作 符 都 不 调 用

SubtractRect。

注 意 这 两 个 矩 形 都 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在调 用 此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::operator -, CRect::operator -=, CRect::IntersectRect, CRect::UnionRect,

CRect::NormalizeRect, ::SubtractRect

CRect::TopLeft

CPoint& TopLeft( );

const CPoint& TopLeft( ) const;

返 回 值

返 回 矩 形 的 左 上 角 坐 标 。

此 函 数 返 回 的 坐 标 是 一 个 对 CPoint 对 象 的 引 用 , 该 对 象 包 含 在 CRect 中。

你 可 以 使 用 此 函 数 来 获 取 或 设 置 矩 形 的 左 上 角 。 通 过 在 赋 值 操 作 符 的 左 边 使 用这 个 函 数 , 可 以 设 置 矩 形 的 左 上 角 。

请 参 阅 CRect::BottomRight, CPoint, CRect::CenterPoint

CRect::UnionRect

BOOL UnionRect( LPCRECT lpRect1 , LPCRECT lpRect2 );

返 回 值

如 果 两 个 矩 形 的 并 不 是 空 , 则 返 回 非 零 值 ; 否 则 , 如 果 并 是 空 , 则 返 回 0 。

lpRect1

指 向 一 个 RECT 或 CRect , 包 含 了 一 个 源 矩 形 。

lpRect2

指 向 一 个 RECT 或 CRect , 包 含 了 一 个 源 矩 形 。

说 明

此 函 数 使 CRect 的 尺 寸 等 于 两 个 源 矩 形 的 并 。 并 就 是 包 含 两 个 源 矩 形 的 最 小 矩形 。 Windows 忽 略 空 矩 形 , 即 没 有 高 度 也 没 有 宽 度 的 矩 形 。

注 意 这 两 个 矩 形 都 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在调 用 此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::operator |=, CRect::operator |, CRect::IntersectRect, CRect::SubtractRect,

CRect:: W idth int W idth() const; 返 回 值

返 回 CRect 的 宽 度 。

说 明

此 函 数 用 右 坐 标 值 减 去 左 坐 标 值 , 来 计 算 CRect 的 宽 度 。 这 个 宽 度 可 以 是 负 值 。

注 意 这 个 矩 形 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在 调 用此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::Height, CRect::Size, CRect::CenterPoint, CRect::IsRectEmpty,

操 作 符

CRect::operator LPCRECT operator LPCRECT( ) const; 说 明

此 操 作 符 将 一 个 CRect 转 化 为 一 个 LPCRECT 。 当 使 用 此 函 数 时 , 不 需 要 使 用地 址 操 作 符 ( & ) 。 当 你 传 递 一 个 CRect 对 象 给 一 个 需 要 LPCRECT 的 函 数 时 , 此 操 作 符 被 自 动 使 用 。

请 参 阅 CRect::operator LPRECT

CRect::operator LPRECT

Operator LPRECT();

说 明

此 操 作 符 将 一 个 CRect 转 化 为 一 个 LPRECT 。 当 使 用 此 函 数 时 , 不 需 要 使 用 地址 操 作 符 ( & ) 。 当 你 传 递 一 个 CRect 对 象 给 一 个 需 要 LPRECT 的 函 数 时 , 此操 作 符 被 自 动 使 用 。

请 参 阅 CRec t::operator LPCRECT

CRect:: operator =

void operator =( const RECT& srcRect );

参 数

srcRect

指 向 一 个 源 矩 形 。 可 以 是 一 个 RECT 或 CRect 。

说 明

此 操 作 符 将 srcRect 分 配 给 CRect 。

请 参 阅 CRect::CRect, CRect::SetRect, CRect::CopyRect, CRect::SetRectEmpty, ::CopyRect

CRect:: operator = =

BOOL operator ==( const RECT& rect ) const;

返 回 值

如 果 相 等 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

rect

指 向 一 个 源 矩 形 。 可 以 是 一 个 RECT 或 CRect 。

说 明

此 操 作 符 通 过 比 较 rect 与 CRect 左 上 角 和 右 下 角 的 坐 标 值 来 确 定 它 们 是 否 相等 。

注 意 这 两 个 矩 形 都 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在调 用 此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::operator !=, CRect::NormalizeRect, ::EqualRect

CRect:: operator !=

BOOL operator !=( const RECT& rect ) const;

返 回 值

如 果 不 相 等 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

rect

指 向 一 个 源 矩 形 。 可 以 是 一 个 RECT 或 CRect 。

说 明

此 操 作 符 通 过 比 较 rect 与 CRect 左 上 角 和 右 下 角 的 坐 标 值 来 确 定 它 们 是 否 不 相等 。

注 意 这 两 个 矩 形 都 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在调 用 此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::operator ==, CRect::NormalizeRect, ::EqualRect

CRect:: operator +=

void operator +=( POINT point ); void operator +=( SIZE size );

void operator +=( LPCRECT lpRect );

参 数

point

一个 POINT 结 构 或 CPoint 对 象 , 指 定 了 矩 形 要 移 动 的 单 位 数 。

size

一个 SIZE 结 构 或 CSize 对 象 , 指 定 了 矩 形 要 移 动 的 单 位 数 。

lpRect

指 向 一 个 RECT 或 CRect 对 象 , 包 含 了 要 扩 大 CRect 的 每 一 边 的 单 位 数 。

说 明

前 两 种 重 载 形 式 将 CRect 移 动 指 定 的 偏 移 量 。 参 数 的 xy ( 或 cxcy ) 被 增加 到 CRect 。

第 三 种 重 载 形 式 将 CRect 扩 大 参 数 中 每 一 个 成 员 所 指 定 的 单 位 数 。

请 参 阅 CRec t::OffsetRect, CRect::InflateRect, CRect::operator +, CRect::operator

-=

CRect:: operator -=

void operator -= ( POINT point ); void operator -= ( SIZE size );

void operator - = ( LPCRECT lpRect );

参 数

point

一个 POINT 结 构 或 CPoint 对 象 , 指 定 了 矩 形 要 移 动 的 单 位 数 。

size

一个 SIZE 结 构 或 CSize 对 象 , 指 定 了 矩 形 要 移 动 的 单 位 数 。

lpRect

指 向 一 个 RECT 或 CRect 对 象 , 包 含 了 要 扩 大 CRect 的 每 一 边 的 单 位 数 。

说 明

前 两 种 重 载 形 式 将 CRect 移 动 指 定 的 偏 移 量 。从 CRect 中 减 去 参 数 的 x 和 y(或

cx 和 cy ) 。

第 三 种 重 载 形 式 将 CRect 缩 小 参 数 中 每 一 个 成 员 所 指 定 的 单 位 数 。 注 意 , 这 个重 载 函 数 像 DeflateRet 。

请 参 阅 CRect::OffsetRect, CRect::DeflateRect, CRect::SubtractRect,

CRect::operator -,

CRect::operator +=

CRect:: operator &=

void operator &=( const RECT& rect );

参 数

rect

包 含 一 个 RECT 或 CRect 。

说 明

此 操 作 符 用 来 使 CRect 等 于 CRect 和 rect 的 交 。 交 是 被 两 个 源 矩 形 都 包 含 的 最大 矩 形 。

注 意 这 两 个 矩 形 都 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在调 用 此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::operator & , CRect::operator |=, CRect::IntersectRect, CRect::NormalizeRect, ::IntersectRect

CRect:: operator |=

void operator |=( const RECT& rect );

参 数

rect

包 含 一 个 RECT 或 CRect 。

说 明

此 操 作 符 用 来 使 CRect 等 于 CRect 和 rect 的 并 。 并 是 包 含 两 个 源 矩 形 的 最 小 矩

形 。

注 意 这 两 个 矩 形 都 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在调 用 此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::operator |, CRect::operator &=, CRect::UnionRect, CRect::NormalizeRect, ::UnionRect

CRect:: operator +

CRect operator +( POINT point ) const; CRect operator +( LPCRECT lpRect ) const; CRect operator +( SIZE size ) const;

返 回 值

返 回 一 个 CRect , 它 是 将 CRect 移 动 或 扩 大 参 数 中 指 定 的 单 位 数 之 后 的 结 果 。

参 数

point

一个 POINT 结 构 或 CPoint 对 象 , 指 定 了 返 回 值 要 移 动 的 单 位 数 。

size

一个 SIZE 结 构 或 CSize 对 象 , 指 定 了 返 回 值 要 移 动 的 单 位 数 。

lpRect

指 向 一 个 RECT 或 CRect 对 象 , 包 含 了 要 扩 大 返 回 值 的 每 一 边 的 单 位 数 。

说 明

前 两 种 重 载 形 式 返 回 的 CRect 对 象 是 CRect 移 动 指 定 偏 移 后 的 结 果 。 参 数 的 x

y (或 cxcy ) 被 增 加 到 CRect 的 位 置 上 。

第 三 种 重 载 形 式 返 回 一 个 新 的 CRect 对 象 , 此 对 象 是 扩 大 了 参 数 的 每 一 个 成 员指 定 的 单 位 数 之 后 的 CRect 。

请 参 阅 CRect::operator +=, CRect::operator -, CRect::OffsetRect, CRect::InflateRect

CRect:: operator -

CRect operator – ( POINT point ) const; CRect operator – ( SIZE size ) const;

CRect operator – ( LPCRECT lpRect ) const;

返 回 值

返 回 一 个 CRect , 它 是 将 CRect 移 动 或 缩 小 参 数 中 指 定 的 单 位 数 之 后 的 结 果 。

参 数

point

一个 POINT 结 构 或 CPoint 对 象 , 指 定 了 返 回 值 要 移 动 的 单 位 数 。

size

一个 SIZE 结 构 或 CSize 对 象 , 指 定 了 返 回 值 要 移 动 的 单 位 数 。

lpRect

指 向 一 个 RECT 或 CRect 对 象 , 包 含 了 要 扩 大 返 回 值 的 每 一 边 的 单 位 数 。

说 明

前 两 种 重 载 形 式 返 回 的 CRect 对 象 是 CRect 移 动 指 定 偏 移 后 的 结 果 。 参 数 的 x

y (或 cxcy ) 被 从 CRect 的 位 置 上 减 去 。

第 三 种 重 载 形 式 返 回 一 个 新 的 CRect 对 象 , 此 对 象 是 缩 小 了 参 数 的 每 一 个 成 员指 定 的 单 位 数 之 后 的 CRect 。 注 意 , 这 个 重 载 函 数 类 似 于 DeflateRect, 而 不 是SubtractRect。

请 参 阅 CRect::operator -=, CRect::operator +, CRect::OffsetRect, CRect::DeflateRect,

CRect::SubtractRect

CRect:: operator &

CRect operator &( const RECT& rect2 ) const;

返 回 值

返 回 一 个 CRect , 它 是 CRect 和 rect2 的 交 。

参 数

rect2

包 含 一 个 RECT 或 CRect 。

说 明

此 操 作 符 返 回 一 个 CRec t, 它 是 CRect 和 rect2 的 交 。 交 是 被 两 个 矩 形 包 含 的 最大 矩 形 。

注 意 这 两 个 矩 形 都 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在调 用 此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::IntersectRect, CRect::operator &=, CRect::operator |, CRect::NormalizeRect

CRect:: operator |

CRect operator |( const RECT& rect2 ) const;

返 回 值

返 回 一 个 CRect , 它 是 CRect 和 rect2 的 并 。

参 数

rect2

包 含 一 个 RECT 或 CRect 。

说 明

此 操 作 符 返 回 一 个 CRec t, 它 是 CRect 和 rect2 的 并 。 并 是 包 含 两 个 矩 形 的 最 小矩 形 。

注 意 这 两 个 矩 形 都 必 须 是 符 合 规 范 的 , 否 则 此 函 数 将 失 败 。 你 可 以 在调 用 此 函 数 之 前 , 调 用 NormalizeRect 来 使 矩 形 规 范 化 。

请 参 阅 CRect::UnionRect, CRect::operator |=, CRect::operator &, CRect::NormalizeRect