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