상대 좌표 또는 위치를 구현하는 Windows SIZE 구조체와 유사합니다.
구문
class CSize : public tagSIZE
멤버
공용 생성자
| 속성 | 설명 |
|---|---|
| CSize::CSize |
CSize 개체를 생성합니다. |
Public 연산자
| 속성 | 설명 |
|---|---|
| CSize::operator - | 두 크기를 뺍니다. |
| CSize::operator != | 크기 간의 CSize 같지 않음을 확인합니다. |
| CSize::operator + | 두 가지 크기를 추가합니다. |
| CSize::operator += | 에 크기를 추가합니다 CSize. |
| CSize::operator -= | 에서 크기를 CSize뺍니다. |
| CSize::operator == | 크기 간의 CSize 같음을 확인합니다. |
설명
이 클래스는 구조체 SIZE 에서 파생됩니다. 즉, 구조체의 CSize 데이터 멤버가 액세스할 수 있는 데이터 멤버 SIZESIZE인 매개 CSize 변수를 전달할 수 있습니다.
cx 및 cy )SIZE의 CSize 멤버는 public입니다. 또한 CSize 멤버 함수를 구현하여 구조를 조작합니다 SIZE .
참고 항목
공유 유틸리티 클래스(예: CSize공유 클래스)에 대한 자세한 내용은 공유 클래스를 참조 하세요.
상속 계층 구조
tagSIZE
CSize
요구 사항
헤더: atltypes.h
CSize::CSize
CSize 개체를 생성합니다.
CSize() throw();
CSize( int initCX, int initCY) throw();
CSize( SIZE initSize) throw();
CSize( POINT initPt) throw();
CSize( DWORD dwSize) throw();
매개 변수
initCX
에 cx 대한 멤버를 CSize설정합니다.
initCY
에 cy 대한 멤버를 CSize설정합니다.
initSize
를 초기화하는 데 사용되는 CSize 구조 또는 CSize개체입니다.
initPt
를 초기화 하는 데 사용되는 CPoint 구조 또는 CSize개체입니다.
dwSize
를 초기화하는 CSize데 사용되는 DWORD입니다. 하위 단어는 멤버이고 cx 상위 단어는 멤버입니다 cy .
설명
인수가 지정 cx 되지 않고 cy 0으로 초기화되는 경우
예시
CSize szEmpty;
CSize szPointA(10, 25);
SIZE sz;
sz.cx = 10;
sz.cy = 25;
CSize szPointB(sz);
POINT pt;
pt.x = 10;
pt.y = 25;
CSize szPointC(pt);
CPoint ptObject(10, 25);
CSize szPointD(ptObject);
DWORD dw = MAKELONG(10, 25);
CSize szPointE(dw);
ASSERT(szPointA == szPointB);
ASSERT(szPointB == szPointC);
ASSERT(szPointC == szPointD);
ASSERT(szPointD == szPointE);
CSize::operator ==
두 크기 사이의 같음을 확인합니다.
BOOL operator==(SIZE size) const throw();
설명
크기가 같으면 0이 아닌 값을 반환하고, 그렇지 않으면 0을 반환합니다.
예시
CSize sz1(135, 135);
CSize sz2(135, 135);
ASSERT(sz1 == sz2);
CSize::operator !=
두 크기 사이의 같지 않음을 확인합니다.
BOOL operator!=(SIZE size) const throw();
설명
크기가 같지 않으면 0이 아닌 값을 반환하고, 그렇지 않으면 0을 반환합니다.
예시
CSize sz1(222, 222);
CSize sz2(111, 111);
ASSERT(sz1 != sz2);
CSize::operator +=
이 CSize에 크기를 추가합니다.
void operator+=(SIZE size) throw();
예시
CSize sz1(100, 100);
CSize sz2(50, 25);
sz1 += sz2;
CSize szResult(150, 125);
ASSERT(sz1 == szResult);
// works with SIZE, too
sz1 = CSize(100, 100);
SIZE sz3;
sz3.cx = 50;
sz3.cy = 25;
sz1 += sz3;
ASSERT(sz1 == szResult);
CSize::operator -=
이 CSize크기에서 크기를 뺍니다.
void operator-=(SIZE size) throw();
예시
CSize sz1(100, 100);
CSize sz2(50, 25);
sz1 -= sz2;
CSize szResult(50, 75);
ASSERT(sz1 == szResult);
// works with SIZE, too
sz1 = CSize(100, 100);
SIZE sz3;
sz3.cx = 50;
sz3.cy = 25;
sz1 -= sz3;
ASSERT(sz1 == szResult);
CSize::operator +
이러한 연산자는 이 CSize 값을 매개 변수 값에 추가합니다.
CSize operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
설명
개별 연산자의 다음 설명을 참조하세요.
operator +(size)
이 작업은 두
CSize값을 추가합니다.연산자 +(point)
이 작업은 POINT합니다.
cx이cy값의 멤버 및CSize값의xy데이터 멤버POINT에 추가됩니다. SIZE 매개 변수를 사용하는 CPoint::operator + 버전과 유사합니다.operator +(lpRect)
이 작업은 RECT합니다.
cx이cy값의 멤버 및CSize멤버는 값의left,topright및bottom데이터 멤버에RECT추가됩니다. SIZE 매개 변수를 사용하는 CRect::operator + 버전과 유사합니다.
예시
CSize sz1(100, 100);
CSize sz2(50, 25);
CSize szOut;
szOut = sz1 + sz2;
CSize szResult(150, 125);
ASSERT(szOut == szResult);
// works with SIZE, too
sz1 = CSize(100, 100);
SIZE sz3;
sz3.cx = 50;
sz3.cy = 25;
szOut = sz1 + sz3;
ASSERT(szOut == szResult);
CSize::operator -
이러한 연산자 중 처음 3개는 이 CSize 값을 매개 변수 값으로 뺍니다.
CSize operator-(SIZE size) const throw();
CPoint operator-(POINT point) const throw();
CRect operator-(const RECT* lpRect) const throw();
CSize operator-() const throw();
설명
네 번째 연산자( 단항 빼기)는 값의 부호를 변경합니다 CSize . 개별 연산자의 다음 설명을 참조하세요.
operator -(size)
이 작업은 두
CSize값을 뺍니다.operator -(point)
이 작업은 POINT 또는 CPoint 이 값의 값과
cx값의 데이터 멤버에서cyCSize빼집니다x.yPOINTSIZE 매개 변수를 사용하는 CPoint::operator 버전과 유사합니다.operator -(lpRect)
이 작업은 RECT합니다. 이
cx값의 멤버와cy멤버는CSize값의left,top및rightbottom데이터 멤버RECT에서 뺍니다. SIZE 매개 변수를 사용하는 CRect::operator 버전과 유사합니다.operator -()
이 작업은 이
CSize값의 역가산을 반환합니다.
예시
CSize sz1(100, 100);
CSize sz2(50, 25);
CSize szOut;
szOut = sz1 - sz2;
CSize szResult(50, 75);
ASSERT(szOut == szResult);
// works with SIZE, too
sz1 = CSize(100, 100);
SIZE sz3;
sz3.cx = 50;
sz3.cy = 25;
szOut = sz1 - sz3;
ASSERT(szOut == szResult);