Поделиться через


CPoint::operator -

Используйте одну из перегрузок первых 2 для вычитания объекта CPoint или CSize из CPoint.

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

Параметры

  • point
    Структура ТОЧКА или объект CPoint.

  • size
    Структура РАЗМЕР или объект CSize.

  • lpRect
    Указатель на структуру RECT или объекту CRect.

Возвращаемое значение

CSize, разница между 2 точек, CPoint, являющийся смещением отрицанием размера, CRect, возмещен отрицанием точки или CPoint, отрицание точки.

Заметки

Третья перегрузка offsets CRect отрицанием CPoint. Наконец, используйте унарный оператор для CPoint инверсия.

Например, используя первую перегрузку найти разницу между точками CPoint(25, -19) 2 и CPoint(15, 5) возвращает CSize(10, -24).

Вычитание CSize из CPoint выполняет один и тот же вычисление, как только CPoint выше возвращают объект, а не объект CSize. Например, используя вторую перегрузку найти разницу между точкой CPoint(25, -19) и размером CSize(15, 5) возвращает CPoint(10, -24).

Вычитание прямоугольник из точки возвращает смещение прямоугольника недостатками значений x и y, определенных в точке. Например, используя последнюю перегрузку смещения прямоугольника CRect(125, 200, 325, 400) точкой CPoint(25, -19) возвращает CRect(100, 219, 300, 419).

Используйте унарный оператор для инверсия точку. Например, использование унарного оператора с точкой CPoint(25, -19) возвращает CPoint(-25, 19).

Пример

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

Требования

Header: atltypes.h

См. также

Ссылки

CPoint Class

Диаграмма иерархии

CPoint::operator -=

CPoint::operator +=

CPoint::operator +

CSize::operator -

CRect::operator -

CPoint::Offset

CRect::OffsetRect