Windows POINT 구조체와 유사합니다.
구문
class CPoint : public tagPOINT
멤버
공용 생성자
| 속성 | 설명 |
|---|---|
CPoint::CPoint |
CPoint를 생성합니다. |
공용 메서드
| 이름 | 설명 |
|---|---|
CPoint::Offset |
의 멤버 및 y 값에 CPoint값을 x 추가합니다. |
Public 연산자
| 속성 | 설명 |
|---|---|
CPoint::operator - |
a와 a CPoint SIZE의 차이 또는 부정 CSize POINT또는 두 POINTs 사이의 차이 또는 음SIZE수로 오프셋을 반환합니다. |
CPoint::operator != |
두 POINTs 사이의 같지 않음을 확인합니다. |
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 !=
두 POINTs 사이의 같지 않음을 확인합니다.
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 고 오른쪽 피연산자의 (또는cycx) 멤버 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 는 두 POINTs 사이의 차이, 부정에 의해 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);