次の方法で共有


CRect::IntersectRect

更新 : 2007 年 11 月

既存の 2 つの四角形が交わる部分に相当する四角形を表す CRect を作成します。

BOOL IntersectRect( 
   LPCRECT lpRect1, 
   LPCRECT lpRect2  
) throw( );

パラメータ

  • lpRect1
    1 つめの元の四角形を表す RECT 構造体または CRect オブジェクトへのポインタ。

  • lpRect2
    2 つめの元の四角形を表す RECT 構造体または CRect オブジェクトへのポインタ。

戻り値

2 つの四角形が交わる部分が空でない場合は 0 以外の値を返します。空の場合は 0 を返します。

解説

交わる四角形とは、元の 2 つの四角形にともに含まれる最大の四角形を表します。

262w7389.alert_note(ja-jp,VS.90).gifメモ :

両方の四角形が正規化されていない場合、この関数は失敗することがあります。この関数を呼び出す前に NormalizeRect を呼び出して四角形を正規化することもできます。

使用例

CRect rectOne(125,   0, 150, 200);
CRect rectTwo(0,  75, 350,  95);
CRect rectInter;

rectInter.IntersectRect(rectOne, rectTwo);

// rectInter is now (125, 75, 150, 95)

ASSERT(rectInter == CRect(125, 75, 150, 95));

// operator &= can do the same task:

CRect rectInter2 = rectOne;
rectInter2 &= rectTwo;
ASSERT(rectInter2 == CRect(125, 75, 150, 95));   

必要条件

ヘッダー : atltypes.h

参照

参照

CRect クラス

階層図

CRect::operator &=

CRect::operator &

CRect::UnionRect

CRect::SubtractRect

CRect::NormalizeRect

IntersectRect

その他の技術情報

CRect のメンバ