Aracılığıyla paylaş


CRect::SubtractRect

Boyutları, yaptığı CRect çıkarma eşit lpRectSrc2 karşı lpRectSrc1.

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

Parametreler

  • lpRectSrc1
    İşaret rect yapısı veya CRect içinden bir dikdörtgendir toplanabilir için nesne.

  • lpRectSrc2
    İşaret RECT yapısı veya CRect tarafından için dikdörtgen toplanabilir olan nesneyi işaret lpRectSrc1 parametresi.

Dönüş Değeri

Sıfır olmayan bir değer işlevi başarılı olursa; Aksi halde 0.

Notlar

Çıkarma tüm noktaları içeren en küçük dikdörtgendir lpRectScr1 olmayan kesişimi lpRectScr1 ve lpRectScr2.

Tarafından belirtilen dikdörtgeni lpRectSrc1 dikdörtgeni tarafından belirtilen değişmeden kalacaktır lpRectSrc2 tarafından belirtilen dikdörtgenin tamamen örtüşmeyecek lpRectSrc1 en az biri, x - ya da y-yönergeleri.

Örneğin, lpRectSrc1 olan (10,10, 100,100) ve lpRectSrc2 olan (50,50, 150,150) tarafından için dikdörtgen işaret lpRectSrc1 işlevi döndürüldüğünde, değişmemiş olacaktır. lpRectSrc1 Olan (10,10, 100,100) ve lpRectSrc2 olan (50,10, 150,150) ancak dikdörtgen işaret için tarafından lpRectSrc1 (10,10, 50,100) koordinatları içerecektir işlevini ne zaman verdi.

SubtractRectaynı şey değildir operator - , ne de operator-=. Bu operatörler hiçbiri bugüne kadar çağıran SubtractRect.

Not

İki dikdörtgenin normale gerekir veya bu işlevi başarısız olabilir.Arayabileceğiniz NormalizeRect bu işlevi çağırmadan önce dikdörtgenler normalleştirmek.

Örnek

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

Gereksinimler

Başlık: atltypes.h

Ayrıca bkz.

Başvuru

CRect sınıfı

Hiyerarşi grafik

CRect::operator-

-= CRect::operator

CRect::IntersectRect

CRect::UnionRect

CRect::NormalizeRect

SubtractRect