CRect::PtInRect
指定した点が CRect内にあるかどうかを判定します。
BOOL PtInRect(
POINT point
) const throw( );
パラメーター
戻り値
点が CRect内にある場合は、; それ以外の場合は 0。
解説
点が CRect 内に左端または上端にある場合、すべての 4 辺の内にあります。右端または下端側のポイントは外側の CRectです。
[!メモ]
四角形が正規化されていない場合、この関数は失敗する可能性があります。この関数を呼び出す前に四角形を正規化するに NormalizeRect を呼び出すことができます。
使用例
CRect rect(5, 5, 100, 100);
CPoint pt1(35, 50);
CPoint pt2(125, 298);
// this is true, because pt1 is inside the rectangle
ASSERT(rect.PtInRect(pt1));
// this is NOT true, because pt2 is outside the rectangle
ASSERT(!rect.PtInRect(pt2));
// note that the right and the bottom aren't inside
ASSERT(!rect.PtInRect(CPoint(35, 100)));
ASSERT(!rect.PtInRect(CPoint(100, 98)));
// but the top and the left are inside
ASSERT(rect.PtInRect(CPoint(5, 65)));
ASSERT(rect.PtInRect(CPoint(88, 5)));
// and that PtInRect() works against a POINT, too
POINT pt;
pt.x = 35;
pt.y = 50;
ASSERT(rect.PtInRect(pt));
必要条件
ヘッダー: atltypes.h