CPoint
수업
Windows POINT
구조체와 유사합니다.
구문
class CPoint : public tagPOINT
멤버
공용 생성자
속성 | 설명 |
---|---|
CPoint::CPoint |
CPoint 를 생성합니다. |
공용 메서드
이름 | 설명 |
---|---|
CPoint::Offset |
의 멤버 및 y 값에 CPoint 값을 x 추가합니다. |
Public 연산자
속성 | 설명 |
---|---|
CPoint::operator - |
a와 a CPoint SIZE 의 차이 또는 부정 CSize POINT 또는 두 POINT s 사이의 차이 또는 음SIZE 수로 오프셋을 반환합니다. |
CPoint::operator != |
두 POINT s 사이의 같지 않음을 확인합니다. |
CPoint::operator + |
에 의한 a 및 a CPoint SIZE 또는 또는 POINT 오프셋의 합계를 CRect 반환합니다 SIZE . |
CPoint::operator += |
또는 POINT .를 CPoint 추가하여 SIZE 오프셋 |
CPoint::operator -= |
또는 을 CPoint 빼서 오프셋합니다SIZE .POINT |
CPoint::operator == |
두 s 사이의 같음을 POINT 확인합니다. |
설명
또한 조작 CPoint
및 POINT
구조를 위한 멤버 함수도 포함됩니다.
CPoint
구조체가 사용되는 모든 위치에서 개체를 POINT
사용할 수 있습니다. 개체 또는 SIZE
구조체와 SIZE
CSize
상호 작용하는 이 클래스의 연산자는 두 개체를 서로 교환할 수 있기 때문에 허용합니다.
참고 항목
이 클래스는 구조체 tagPOINT
에서 파생됩니다. (이름은 tagPOINT
구조체에 덜 일반적으로 사용되는 이름 POINT
입니다.) 즉, x
구조체의 POINT
데이터 멤버 및 y
에 액세스할 수 있는 데이터 멤버CPoint
입니다.
참고 항목
공유 유틸리티 클래스(예: CPoint
공유 클래스)에 대한 자세한 내용은 공유 클래스를 참조 하세요.
상속 계층 구조
tagPOINT
CPoint
요구 사항
머리글: atltypes.h
CPoint::CPoint
CPoint
개체를 생성합니다.
CPoint() throw();
CPoint(int initX, int initY) throw();
CPoint(POINT initPt) throw();
CPoint(SIZE initSize) throw();
CPoint(LPARAM dwPoint) throw();
매개 변수
initX
x
의 CPoint
멤버 값을 지정합니다.
initY
y
의 CPoint
멤버 값을 지정합니다.
initPt
POINT
구조체 또는 CPoint
초기화하는 데 사용되는 값을 지정하는 CPoint
구조체입니다.
initSize
SIZE
구조체 또는 CSize
초기화하는 데 사용되는 값을 지정하는 CPoint
구조체입니다.
dwPoint
멤버를 x
하위 단어 dwPoint
로 설정하고 멤버를 y
상위 단어 dwPoint
로 설정합니다.
설명
인수가 지정되지 않으면 x
및 y
멤버가 0으로 설정됩니다.
예시
CPoint ptTopLeft(0, 0);
// works from a POINT, too
POINT ptHere;
ptHere.x = 35;
ptHere.y = 95;
CPoint ptMFCHere(ptHere);
// works from a SIZE
SIZE sHowBig;
sHowBig.cx = 300;
sHowBig.cy = 10;
CPoint ptMFCBig(sHowBig);
// or from a DWORD
DWORD dwSize;
dwSize = MAKELONG(35, 95);
CPoint ptFromDouble(dwSize);
ASSERT(ptFromDouble == ptMFCHere);
CPoint::Offset
의 멤버 및 y
값에 CPoint
값을 x
추가합니다.
void Offset(int xOffset, int yOffset) throw();
void Offset(POINT point) throw();
void Offset(SIZE size) throw();
매개 변수
xOffset
의 멤버CPoint
를 오프셋 x
할 크기를 지정합니다.
yOffset
의 멤버CPoint
를 오프셋 y
할 크기를 지정합니다.
point
오프셋할 크기(POINT
또는 CPoint
)를 지정합니다 CPoint
.
size
오프셋할 크기(SIZE
또는 CSize
)를 지정합니다 CPoint
.
예시
CPoint ptStart(100, 100);
ptStart.Offset(35, 35);
CPoint ptResult(135, 135);
ASSERT(ptStart == ptResult);
// works with POINT, too
ptStart = CPoint(100, 100);
POINT pt;
pt.x = 35;
pt.y = 35;
ptStart.Offset(pt);
ASSERT(ptStart == ptResult);
// works with SIZE, too
ptStart = CPoint(100, 100);
SIZE size;
size.cx = 35;
size.cy = 35;
ptStart.Offset(size);
ASSERT(ptStart == ptResult);
CPoint::operator ==
두 s 사이의 같음을 POINT
확인합니다.
BOOL operator==(POINT point) const throw();
매개 변수
point
구조체 또는 CPoint
개체를 POINT
포함합니다.
Return Value
s가 POINT
같으면 0이 아니고, 그렇지 않으면 0입니다.
예시
CPoint ptFirst(256, 128);
CPoint ptTest(256, 128);
ASSERT(ptFirst == ptTest);
// works with POINTs, too
POINT pt;
pt.x = 256;
pt.y = 128;
ASSERT(ptTest == pt);
// note that pt == ptTest isn't correct!
CPoint::operator !=
두 POINT
s 사이의 같지 않음을 확인합니다.
BOOL operator!=(POINT point) const throw();
매개 변수
point
구조체 또는 CPoint
개체를 POINT
포함합니다.
Return Value
0이 POINT
아니면 0이 아니고, 그렇지 않으면 0입니다.
예시
CPoint ptFirst(256, 128);
CPoint ptTest(111, 333);
ASSERT(ptFirst != ptTest);
// works with POINTs, too
POINT pt;
pt.x = 333;
pt.y = 111;
ASSERT(ptTest != pt);
// note that pt != ptTest isn't correct!
CPoint::operator +=
첫 번째 오버로드는 .에 a SIZE
를 CPoint
추가합니다.
void operator+=(SIZE size) throw();
void operator+=(POINT point) throw();
매개 변수
size
구조체 또는 CSize
개체를 SIZE
포함합니다.
point
구조체 또는 CPoint
개체를 POINT
포함합니다.
설명
두 번째 오버로드는 에 a POINT
를 CPoint
추가합니다.
두 경우 모두 오른쪽 피연산자의 (또는cx
) 멤버를 멤버에 추가하고 x
오른쪽 피연산 x
자의 CPoint
(또는cy
) 멤버를 해당 멤버CPoint
에 y
추가하여 y
추가합니다.
예를 들어 변수를 포함하는 CPoint(30, 40)
변수에 추가 CPoint(5, -7)
하면 변수CPoint(35, 33)
가 .로 변경됩니다.
예시
CPoint ptStart(100, 100);
CSize szOffset(35, 35);
ptStart += szOffset;
CPoint ptResult(135, 135);
ASSERT(ptResult == ptStart);
// also works on SIZE
ptStart = CPoint(100, 100);
SIZE sz;
sz.cx = 35;
sz.cy = 35;
ptStart += sz;
ASSERT(ptResult == ptStart);
CPoint::operator -=
첫 번째 오버로드는 SIZE
CPoint
.
void operator-=(SIZE size) throw();
void operator-=(POINT point) throw();
매개 변수
size
구조체 또는 CSize
개체를 SIZE
포함합니다.
point
구조체 또는 CPoint
개체를 POINT
포함합니다.
설명
두 번째 오버로드는 POINT
CPoint
.
두 경우 모두 오른쪽 피연산자의 멤버를 빼 x
고 오른쪽 피연산자의 (또는cy
cx
) 멤버 CPoint
에서 x
y
오른쪽 피연산자의 멤버CPoint
를 빼 y
서 빼서 빼기를 수행합니다.
예를 들어 변수를 포함하는 변수에서 빼 CPoint(5, -7)
면 변수CPoint(25, 47)
가 .로 변경됩니다CPoint(30, 40)
.
예시
CPoint ptStart(100, 100);
CSize szOffset(35, 35);
ptStart -= szOffset;
CPoint ptResult(65, 65);
ASSERT(ptResult == ptStart);
// also works on SIZE
ptStart = CPoint(100, 100);
SIZE sz;
sz.cx = 35;
sz.cy = 35;
ptStart -= sz;
ASSERT(ptResult == ptStart);
CPoint::operator +
이 연산자를 사용하여 개체 또는 개체로 오프셋 CPoint
하거나 CSize
CRect
CPoint
.CPoint
CPoint operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
매개 변수
size
구조체 또는 CSize
개체를 SIZE
포함합니다.
point
구조체 또는 CPoint
개체를 POINT
포함합니다.
lpRect
구조체 또는 CRect
개체에 대한 포인터를 RECT
포함합니다.
Return Value
에 CPoint
의해 SIZE
오프셋되는 A, CPoint
오프셋을 POINT
통해 오프셋되는 값 또는 CRect
오프셋에 의한 오프셋입니다 POINT
.
설명
예를 들어 처음 두 오버로드 중 하나를 사용하여 점 CPoint(15, 5)
또는 크기 CSize(15, 5)
로 점을 CPoint(25, -19)
오프셋하면 값CPoint(40, -14)
이 반환됩니다.
에 a CRect
를 POINT
추가하면 다음에 지정된 값과 y
오프셋 x
이 반환 CRect
됩니다POINT
. 예를 들어 마지막 오버로드를 사용하여 지점으로 사각형 CRect(125, 219, 325, 419)
을 오프셋하면 반환됩니다CRect(150, 200, 350, 400)
.CPoint(25, -19)
예시
CPoint ptStart(100, 100);
CSize szOffset(35, 35);
CPoint ptEnd;
ptEnd = ptStart + szOffset;
CPoint ptResult(135, 135);
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);
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
POINT
구조체 또는 CPoint
개체입니다.
lpRect
구조체 또는 개체에 대한 RECT
포인터입니다 CRect
.
Return Value
A CSize
는 두 POINT
s 사이의 차이, 부정에 의해 SIZE
오프셋되는 것, CPoint
CRect
부정으로 오프셋되는 것, 부정에 의해 POINT
오프셋되는 것 또는 CPoint
부정POINT
인 2의 차이입니다.
설명
세 번째 오버로드는 을 부정CPoint
하여 오프셋합니다CRect
. 마지막으로 단항 연산자를 사용하여 부정 CPoint
합니다.
예를 들어 첫 번째 오버로드를 사용하여 두 점 CPoint(25, -19)
과 CPoint(15, 5)
반환 사이의 차이를 찾습니다 CSize(10, -24)
.
에서 빼는 CSize
것은 위와 동일한 계산을 수행하지만 개체가 CPoint
아닌 개체를 CSize
반환 CPoint
합니다. 예를 들어 두 번째 오버로드를 사용하여 점 CPoint(25, -19)
과 크기 CSize(15, 5)
간의 차이를 찾으면 반환됩니다 CPoint(10, -24)
.
직사각형 POINT
을 빼면 사각형 오프셋이 에 지정된 값 및 y
음수로 x
반환됩니다POINT
. 예를 들어 마지막 오버로드를 사용하여 점 CPoint(25, -19)
이 사각형을 오프셋 CRect(125, 200, 325, 400)
하면 반환됩니다CRect(100, 219, 300, 419)
.
단항 연산자를 POINT
사용하여 . 예를 들어 단항 연산자를 사용하여 점 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);