Freigeben über


CPoint::operator -

Verwenden Sie eine der ersten zwei Überladungen, um ein CPoint oder CSize-Objekt von CPoint zu subtrahieren.

CSize operator -( 
   POINT point  
) const throw( ); 
CPoint operator -( 
   SIZE size  
) const throw( ); 
CRect operator -( 
   const RECT* lpRect  
) const throw( ); 
CPoint operator -( ) const throw( );

Parameter

  • point
    Eine PUNKT-Struktur oder ein CPoint-Objekt.

  • size
    Eine GRÖSSE-Struktur oder ein CSize-Objekt.

  • lpRect
    Ein Zeiger auf eine Struktur RECT oder einem CRect-Objekt.

Rückgabewert

CSize, der der Unterschied zwischen zwei Punkten, CPoint ist, der über die Negation einer Größe, des CRect, die durch die Negation eines Punkts versetzt ist oder des CPoint versetzt wird, das die Negation eines Punkts ist.

Hinweise

Die dritte Überladung entspricht CRect durch die Negation von CPoint aus. Schließlich verwenden Sie den unären Operator, um CPoint zurückzusetzen.

Bei Verwendung der ersten Überladung, um den Unterschied zwischen zwei Punkten CPoint(25, -19) und CPoint(15, 5) zu suchen CSize(10, -24) gibt zurück.

Das Subtrahieren von CSize von CPoint wird die gleiche Berechnung wie oben aber gibt ein Objekt CPoint, kein CSize-Objekt. Bei Verwendung der zweiten Überladung, um den Unterschied zwischen dem Punkt CPoint(25, -19) und der Größe CSize(15, 5) zu suchen CPoint(10, -24) gibt zurück.

Ein Rechteck von einem Punkt Subtrahieren von, gibt den Rechteckoffset durch die Negative x zurück und y beschränkt im angegebenen Punkt. Bei Verwendung der letzten Überladung, um des Rechtecks CRect(125, 200, 325, 400) durch den Punkt CPoint(25, -19) auszugleichen gibt CRect(100, 219, 300, 419) zurück.

Verwenden Sie den unären Operator, um einen Punkt zurückzusetzen. Bei Verwendung des unären Operators mit dem Punkt CPoint(25, -19) gibt CPoint(-25, 19) zurück.

Beispiel

// example for CPoint subtraction
CPoint   ptStart(100, 100);
CSize   szOffset(35, 35);
CPoint   ptEnd;

ptEnd = ptStart - szOffset;

CPoint   ptResult(65, 65);

ASSERT(ptResult == ptEnd);

// also works on SIZE

ptStart = CPoint(100, 100);

SIZE   sz;
sz.cx = 35;
sz.cy = 35;

ptEnd = ptStart - sz;

ASSERT(ptResult == ptEnd);

// example for CPoint unary operator
CPoint   pt(35, 35);
pt = -pt;

CPoint ptNeg(-35, -35);
ASSERT(pt == ptNeg);   

Anforderungen

Header: atltypes.h

Siehe auch

Referenz

CPoint Class

Hierarchiediagramm

CPoint::operator -=

CPoint::operator +=

CPoint::operator +

CSize::operator -

CRect::operator -

CPoint::Offset

CRect::OffsetRect