共用方式為


CRect::IntersectRect

可讓 CRect 等於目前有兩個矩形的交集。

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

參數

  • lpRect1
    對包含來源矩形的 的長度 結構或 CRect 物件。

  • lpRect2
    對包含來源矩形的 RECT 結構或 CRect 物件。

傳回值

不是零,如果交集的不是空的,0,如果交集是空的。

備註

交集是在目前有兩個矩形包含的最大矩形。

注意事項注意事項

兩個矩形必須正規化或這個函式可能會失敗。您可以呼叫 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));   

需求

Header: atltypes.h

請參閱

參考

CRect 類別

階層架構圖

CRect::operator _&=

CRect::operator _&

CRect::UnionRect

CRect::SubtractRect

CRect::NormalizeRect

IntersectRect