Partager via


CPoint::operator -

Utilisez l'une des deux premières surcharges de soustraire un objet d' CPoint ou d' CSize d' CPoint.

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

Paramètres

  • point
    Une structure de POINT ou un objet de CPoint .

  • size
    Une structure de TAILLE ou un objet de CSize .

  • lpRect
    Un pointeur vers une structure de RECT ou un objet de CRect .

Valeur de retour

CSize qui est la différence entre deux points, CPoint qui est décalée par la négation d'une taille, d'un CRect qui est décalée par la négation d'un point, ou d'un CPoint qui est la négation d'un point.

Notes

La troisième surcharge compense CRect par la négation d' CPoint. Enfin, utilisez l'opérateur unaire pour effectuer une inversion CPoint.

Par exemple, à l'aide de la première surcharge pour rechercher la différence entre deux points CPoint(25, -19) et CPoint(15, 5) retourne CSize(10, -24).

Soustraire CSize d' CPoint effectue le même calcul comme ci-dessus mais retourne un objet d' CPoint , et non un objet d' CSize . Par exemple, à l'aide de la deuxième surcharge pour rechercher la différence entre le point CPoint(25, -19) et la taille CSize(15, 5) retourne CPoint(10, -24).

Soustrayant un rectangle d'un point retourne l'offset du rectangle par les négatifs de x et y a spécifié le débogage. Par exemple, à l'aide de la dernière surcharge pour décaler le rectangle CRect(125, 200, 325, 400) par le point CPoint(25, -19) retourne CRect(100, 219, 300, 419).

Utilisez l'opérateur unaire pour effectuer une inversion un point. Par exemple, à l'aide de l'opérateur unaire avec le point CPoint(25, -19) retourne CPoint(-25, 19).

Exemple

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

Configuration requise

Header: atltypes.h

Voir aussi

Référence

CPoint, classe

Graphique de la hiérarchie

CPoint::operator - =

CPoint::operator +=

CPoint::operator +

CSize::operator -

CRect::operator -

CPoint::Offset

CRect::OffsetRect