Freigeben über


CRect::IntersectRect

Macht CRect gleich der Schnittmenge von zwei vorhandenen Rechtecken.

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

Parameter

  • lpRect1
    Zeigt auf RECT-Struktur oder zu CRect-Objekt, die ein Quellrechteck enthält.

  • lpRect2
    Zeigt auf RECT-Struktur oder zu CRect-Objekt, die ein Quellrechteck enthält.

Rückgabewert

Ungleich 0 (null), wenn die Schnittmenge nicht leer ist; 0 Wenn die Schnittmenge leer ist.

Hinweise

Die Schnittmenge ist der größte Rechteck, das in beiden vorhandenen Rechtecken enthalten ist.

Hinweis

Beide der Rechtecke müssen normalisiert werden, oder diese Funktion schlägt möglicherweise aus.Sie können NormalizeRect aufrufen, um die Rechtecke zu normalisieren, bevor Sie diese Funktion aufrufen.

Beispiel

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));   

Anforderungen

Header: atltypes.h

Siehe auch

Referenz

CRect Class

Hierarchiediagramm

CRect::operator &=

CRect::operator &

CRect::UnionRect

CRect::SubtractRect

CRect::NormalizeRect

IntersectRect