CRect::SubtractRect
Apportare le dimensioni CRect uguale alla sottrazione lpRectSrc2 da lpRectSrc1.
BOOL SubtractRect(
LPCRECT lpRectSrc1,
LPCRECT lpRectSrc2
) throw( );
Parametri
lpRectSrc1
I punti su RECT struttura o all'oggetto CRect da un rettangolo deve essere rimossi.lpRectSrc2
Punta a RECT struttura o all'oggetto CRect che devono essere sottratti dal rettangolo puntato dal parametro lpRectSrc1.
Valore restituito
Diverso da zero se la funzione ha esito positivo; in caso contrario 0.
Note
La differenza è il più piccolo rettangolo che contenga tutti i passaggi in lpRectScr1 non inclusi nell'intersezione lpRectScr1 e di lpRectScr2.
Il rettangolo specificato da lpRectSrc1 verrà invariato se il rettangolo specificato da lpRectSrc2 completamente non si sovrappone al rettangolo specificato da lpRectSrc1 in almeno una x o y le direzioni.
Ad esempio, se lpRectSrc1 è (10,10, 100.100) e lpRectSrc2 è (50,50, 150.150), il rettangolo puntato da lpRectSrc1 sarebbe invariato quando la funzione ha restituito.Se lpRectSrc1 è (10,10, 100.100) e lpRectSrc2 è (50,10, 150.150), tuttavia, il rettangolo puntato da lpRectSrc1 può contenere le coordinate (10,10, 50.100) quando la funzione ha restituito.
SubtractRect non sarà uguale operator - né operator - =.Nessuno di questi operatori chiama mai SubtractRect.
[!NOTA]
Entrambi i rettangoli devono essere normalizzati o la funzione può non riuscire.È possibile chiamare NormalizeRect per normalizzare i rettangoli prima di chiamare la funzione.
Esempio
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);
Requisiti
Header: atltypes.h