Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Аналог структуры SIZE в ОС Windows, реализующий относительные координаты или положение.
Синтаксис
class CSize : public tagSIZE
Участники
Открытые конструкторы
| Имя | Описание |
|---|---|
| CSize::CSize | Формирует объект CSize. |
Открытые операторы
| Имя | Описание |
|---|---|
| CSize::operator — | Вычитает два размера. |
| CSize::operator != | Проверяет неравенство между CSize размером и размером. |
| CSize::operator + | Добавляет два размера. |
| CSize::operator += | Добавляет размер CSizeв . |
| CSize::operator -= | Вычитает размер из CSize. |
| CSize::operator == | Проверяет равенство между CSize и размером. |
Замечания
Этот класс является производным SIZE от структуры. Это означает, что вы можете передать CSize параметр, вызывающий SIZE вызовы, и что члены SIZE данных структуры являются доступными CSizeэлементами данных.
cx И cy члены SIZE (иCSize) являются общедоступными. Кроме того, 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
Структура или объект SIZE, используемые для инициализацииCSize.CSize
initPt
, используемые для инициализацииCPoint.
dwSize
DWORD, используемый для инициализации CSize. Слово с низким порядком является элементом cx , и слово высокого порядка является элементом cy .
Замечания
Если аргументы не заданы, cx и инициализированы cy до нуля.
Пример
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.
Пример
CSize sz1(135, 135);
CSize sz2(135, 135);
ASSERT(sz1 == sz2);
CSize::operator !=
Проверяет неравенство между двумя размерами.
BOOL operator!=(SIZE size) const throw();
Замечания
Возвращает ненулевое значение, если размеры не равны, в противном случае — значение 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();
Замечания
См. следующие описания отдельных операторов:
оператор +(размер)
Эта операция добавляет два
CSizeзначения.оператор +(точка)
Эта операция смещает (перемещает) значение POINT (или CPoint) по этому
CSizeзначению. Элементыcxэтогоcyзначения добавляются вCSizeэлементы иxэлементыyданных значения.POINTОн аналогичен версии CPoint::operator + с параметром SIZE .оператор +( lpRect)
Эта операция смещает (перемещает) значение RECT (или CRect) по этому
CSizeзначению. Элементыcxэтогоcyзначения добавляются вCSizeэлементы значенийleft,toprightа такжеbottomэлементы данных.RECTОн аналогичен версии CRect::operator + , которая принимает параметр SIZE .
Пример
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 —
Первые три из этих операторов вычитают это 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 значения. См. следующие описания отдельных операторов:
оператор -(размер)
Эта операция вычитает два
CSizeзначения.оператор -(точка)
Эта операция смещает (перемещает) значение POINT или CPoint с помощью аддитивного обратного значения
CSize.cxЗначениеcyи из этогоCSizeзначения вычитаются изxyэлементовPOINTданных значения. Это аналогично версии CPoint::operator, которая принимает параметр SIZE .оператор -( lpRect)
Эта операция смещает (перемещает) значение RECT или CRect с помощью аддитивного обратного
CSizeзначения. ЭлементыcxэтогоcyCSizeзначения вычитаются изleftэлементов значения ,toprightиbottomэлементовRECTданных. Он аналогичен версии CRect::operator, которая принимает параметр SIZE .оператор -()
Эта операция возвращает аддитивное обратное значение этого
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);