Compartir a través de


Clase CSize

Similar a la estructura SIZE de Windows, que implementa una coordenada relativa o una posición.

Sintaxis

class CSize : public tagSIZE

Miembros

Constructores públicos

Nombre Descripción
CSize::CSize Construye un objeto CSize.

Operadores públicos

Nombre Descripción
CSize::operator - Resta dos tamaños.
CSize::operator != Comprueba si hay desigualdad entre CSize y un tamaño.
CSize::operator + Agrega dos tamaños.
CSize::operator += Agrega un tamaño a CSize.
CSize::operator -= Resta un tamaño de CSize.
CSize::operator == Comprueba si hay igualdad entre CSize y un tamaño.

Comentarios

Esta clase se deriva de la estructura SIZE. lo que significa que puede pasar un elemento CSize en un parámetro que reclama un elemento SIZE y que los miembros de datos de la estructura SIZE son miembros de datos accesibles de CSize.

Los miembros cx y cy de SIZE (y CSize) son públicos. Además, CSize implementa funciones miembro para manipular la estructura SIZE.

Nota:

Para más información sobre las clases de utilidad compartidas (como CSize), vea Clases compartidas.

Jerarquía de herencia

tagSIZE

CSize

Requisitos

Encabezado: atltypes.h

CSize::CSize

Construye un objeto CSize.

CSize() throw();
CSize( int initCX, int initCY) throw();
CSize( SIZE initSize) throw();
CSize( POINT initPt) throw();
CSize( DWORD dwSize) throw();

Parámetros

initCX
Establece el miembro cx de CSize.

initCY
Establece el miembro cy de CSize.

initSize
Estructura de SIZE u objeto CSize utilizado para inicializar CSize.

initPt
Estructura de POINT u objeto CPoint utilizado para inicializar CSize.

dwSize
DWORD que se utiliza para inicializar CSize. La palabra de orden inferior es el miembro cx y la palabra de orden superior es el miembro cy.

Comentarios

Si no se proporcionan argumentos, cx y cy se inicializan en cero.

Ejemplo

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 ==

Comprueba si hay igualdad entre dos tamaños.

BOOL operator==(SIZE size) const throw();

Comentarios

Devuelve un valor distinto de cero si los tamaños son iguales, de lo contrario devuelve 0.

Ejemplo

CSize sz1(135, 135);
CSize sz2(135, 135);

ASSERT(sz1 == sz2);

CSize::operator !=

Comprueba si hay desigualdad entre dos tamaños.

BOOL operator!=(SIZE size) const throw();

Comentarios

Devuelve un valor distinto de cero si los tamaños no son iguales; de lo contrario, devuelve 0.

Ejemplo

CSize sz1(222, 222);
CSize sz2(111, 111);

ASSERT(sz1 != sz2);   

CSize::operator +=

Agrega un tamaño a este CSize.

void operator+=(SIZE size) throw();

Ejemplo

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 -=

Resta un tamaño de este CSize.

void operator-=(SIZE size) throw();

Ejemplo

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 +

Estos operadores agregan este valor de CSize al valor del parámetro.

CSize operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();

Comentarios

Consulte las siguientes descripciones de los operadores individuales:

  • operador +(size)

    Esta operación agrega dos valores de CSize.

  • operador +(point)

    Esta operación desplaza (mueve) un valor POINT (o CPoint) por este valor de CSize. Los miembros cx y cy de este valor de CSize se agregan a los miembros de datos x y y del valor de POINT. Es análoga a la versión de CPoint::operator + que toma un parámetro SIZE.

  • operador +(lpRect)

    Esta operación desplaza (mueve) un valor RECT (o CRect) por este valor de CSize. Los miembros cx y cy de este valor de CSize se agregan a los miembros de datos left, top, right y bottom del valor de RECT. Es análoga a la versión de CRect::operator + que toma un parámetro SIZE.

Ejemplo

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 -

Los tres primeros de estos operadores restan este valor de CSize al valor del parámetro.

CSize operator-(SIZE size) const throw();
CPoint operator-(POINT point) const throw();
CRect operator-(const RECT* lpRect) const throw();
CSize operator-() const throw();

Comentarios

El cuarto operador, el unario menos, cambia el signo del valor CSize. Consulte las siguientes descripciones de los operadores individuales:

  • operador -(size)

    Esta operación resta dos valores de CSize.

  • operador -(point)

    Esta operación desplaza (mueve) un valor POINT o CPoint por el inverso aditivo de este valor de CSize. cx y cy de este valor de CSize se restan de los miembros de datos x y y del valor de POINT. Es análoga a la versión de CPoint::operator - que toma un parámetro SIZE.

  • operador -(lpRect)

    Esta operación desplaza (mueve) un valor RECT o CRect por el inverso aditivo de este valor de CSize. Los miembros cx y cy de este valor de CSize se restan de los miembros de datos left, top, right y bottom del valor de RECT. Es análoga a la versión de CRect::operator - que toma un parámetro SIZE.

  • operador -()

    Esta operación devuelve el inverso aditivo de este valor de CSize.

Ejemplo

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);   

Consulte también

Ejemplo MDI de MFC
Gráfico de jerarquías
CRect (clase)
CPoint (clase)