Sdílet prostřednictvím


CRect::SubtractRect

Díky rozměry CRect rovna odčítání z lpRectSrc2 z lpRectSrc1 .

BOOL SubtractRect( 
   LPCRECT lpRectSrc1, 
   LPCRECT lpRectSrc2  
) throw( );

Parametry

  • lpRectSrc1
    Odkazuje RECT struktury nebo CRect objektu, ze kterého má být odečtena obdélník.

  • lpRectSrc2
    Odkazuje RECT struktury nebo CRect objektu, která má být odečtena z obdélníku odkazuje lpRectSrc1 parametr.

Vrácená hodnota

Nenulová hodnota, pokud je tato funkce úspěšná. jinak 0.

Poznámky

Odčítání je nejmenšího obdélníku, který obsahuje všechny body v lpRectScr1 nejsou v průsečíku lpRectScr1 a lpRectScr2.

Obdélník podle lpRectSrc1 bude beze změny, pokud se obdélník podle lpRectSrc2 zcela nepřekrývá obdélník podle lpRectSrc1 alespoň v jedné z x - nebo y pokynů.

Například pokud lpRectSrc1 byly (10,10, 100,100) a lpRectSrc2 byly (50,50, 150,150), obdélník odkazuje lpRectSrc1 by beze změny, když funkce vrátila.Pokud lpRectSrc1 byly (10,10, 100,100) a lpRectSrc2 byly (50,10, 150,150) však obdélník odkazuje lpRectSrc1 bude obsahovat souřadnice (10,10, 50,100) při funkce vrátila.

SubtractRectnení stejný jako operátor - ani operátor-=.Ani jeden z těchto operátorů neustále volá SubtractRect .

[!POZNÁMKA]

Musí být normalizovány oba obdélníky nebo může dojít k selhání funkce.Můžete volat NormalizeRect před voláním funkce normalizuje obdélníky.

Příklad

RECT   rectOne;
RECT   rectTwo;

rectOne.left = 10;
rectOne.top = 10;
rectOne.bottom = 100;
rectOne.right = 100;

rectTwo.left = 50;
rectTwo.top = 10;
rectTwo.bottom = 150;
rectTwo.right = 150;

CRect   rectDiff;

rectDiff.SubtractRect(&rectOne, &rectTwo);

CRect   rectResult(10, 10, 50, 100);

ASSERT(rectDiff == rectResult);

// works for CRect, too, since there is
// implicit CRect -> LPCRECT conversion

CRect rect1(10, 10, 100, 100);
CRect rect2(50, 10, 150, 150);
CRect rectOut;

rectOut.SubtractRect(rect1, rect2);
ASSERT(rectResult == rectOut);   

Požadavky

Záhlaví: atltypes.h

Viz také

Referenční dokumentace

Třída CRect

Diagram hierarchie

CRect::operator-

CRect::operator-=

CRect::IntersectRect

CRect::UnionRect

CRect::NormalizeRect

SubtractRect