次の方法で共有


CRect::PtInRect

更新 : 2007 年 11 月

指定された点が CRect 内にあるかどうかを調べます。

BOOL PtInRect( 
   POINT point  
) const throw( );

パラメータ

  • point
    POINT 構造体または CPoint オブジェクトを保持します。

戻り値

点が CRect 内部にある場合は 0 以外の値を返します。それ以外の場合は 0 を返します。

解説

点が左辺上または上辺上にあるときか上下左右の 4 辺内にあるときは、その点は CRect の内部にあることになります。点が右辺上か下辺上にあるときは、その点は CRect の外側にあることになります。

3ebs091e.alert_note(ja-jp,VS.90).gifメモ :

四角形が正規化されていない場合、この関数は失敗することがあります。この関数を呼び出す前に 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

参照

参照

CRect クラス

階層図

CRect::NormalizeRect

PtInRect

その他の技術情報

CRect のメンバ