다음을 통해 공유


CPoint::operator-

처음 두 오버 로드 중 하나를 사용을 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
    A 포인트 구조 또는 CPoint 개체입니다.

  • size
    A 크기 구조 또는 CSize 개체입니다.

  • lpRect
    에 대 한 포인터는 RECT 구조 또는 CRect 개체입니다.

반환 값

A CSize 즉 두 점 간의 차이 CPoint 는 크기의 부정으로 오프셋는 CRect 점의 부정으로 오프셋 또는 CPoint 부정 포인트입니다.

설명

세 번째 오버 로드 오프셋은 CRect 의 부정으로 CPoint.마지막으로 단항 연산자를 사용 하 여 부정 하기 위해 CPoint.

예를 들어, 첫 번째 오버 로드를 사용 하 여 두 지점 사이의 차이 찾을 수 CPoint(25, -19) 및 CPoint(15, 5) 반환 CSize(10, -24).

빼서는 CSize 에서 CPoint 위와 같은 계산을 하지는 않지만 반환 된 CPoint 개체 없습니다는 CSize 개체.예를 들어, 두 번째 오버 로드를 사용 하 여 지점 간의 차이 찾을 수 CPoint(25, -19) 크기 CSize(15, 5) 반환 CPoint(10, -24).

사각형에서 점 뺀 사각형 오프셋의 네거티브에서 반환 된 xy 지점에 지정 된 값.예를 들어, 마지막으로 오버 로드를 사용 하 여 사각형을 오프셋 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);   

요구 사항

헤더: atltypes.h

참고 항목

참조

CPoint 클래스

계층 구조 차트

CPoint::operator =

CPoint::operator +=

CPoint::operator +

CSize::operator-

CRect::operator-

CPoint::Offset

CRect::OffsetRect