Partilhar via


Classe CSize

Semelhante à estrutura SIZE do Windows, que implementa uma coordenada ou posição relativa.

Sintaxe

class CSize : public tagSIZE

Membros

Construtores Públicos

Nome Descrição
CSize::CSize Constrói um objeto CSize.

Operadores Públicos

Nome Descrição
CSize::operador - Subtrai dois tamanhos.
CSize::operador != Verifica a desigualdade entre CSize e um tamanho.
CSize::operador + Adiciona dois tamanhos.
CSize::operador += Adiciona um tamanho ao CSize.
CSize::operador -= Subtrai um tamanho de CSize.
CSize::operador == Verifica a igualdade entre CSize e um tamanho.

Observações

Esta classe é derivada da SIZE estrutura. Isso significa que você pode passar um CSize em um parâmetro que chama para um SIZE e que os membros de dados da estrutura são membros de SIZE dados acessíveis de CSize.

Os cx e cy membros de SIZE (e CSize) são públicos. Além disso, CSize implementa funções de membro para manipular a SIZE estrutura.

Observação

Para obter mais informações sobre classes de utilitário compartilhadas (como CSize), consulte Classes compartilhadas.

Hierarquia de herança

tagSIZE

CSize

Requerimentos

Cabeçalho: atltypes.h

CSize::CSize

Constrói um 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
Define o cx membro para o CSize.

initCY
Define o cy membro para o CSize.

initSize
Estrutura SIZE ou CSize objeto usado para inicializar CSizeo .

initPt
Estrutura POINT ou CPoint objeto usado para inicializar CSizeo .

dwSize
DWORD usado para inicializar CSizeo . A palavra de ordem baixa é o cx membro e a palavra de ordem alta é o cy membro.

Observações

Se nenhum argumento for dado, cx e cy forem inicializados a zero.

Exemplo

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

Verifica a igualdade entre dois tamanhos.

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

Observações

Retorna diferente de zero se os tamanhos forem iguais, caso contrário, 0.

Exemplo

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

ASSERT(sz1 == sz2);

CSize::operador !=

Verifica a desigualdade entre dois tamanhos.

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

Observações

Retorna diferente de zero se os tamanhos não forem iguais, caso contrário, 0.

Exemplo

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

ASSERT(sz1 != sz2);   

CSize::operador +=

Adiciona um tamanho a este CSize.

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

Exemplo

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

Subtrai um tamanho deste CSize.

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

Exemplo

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::operador +

Esses operadores adicionam esse CSize valor ao valor do parâmetro.

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

Observações

Veja as seguintes descrições dos operadores individuais:

  • operador +(tamanho)

    Esta operação adiciona dois CSize valores.

  • operador +(ponto)

    Esta operação compensa (move) um valor POINT (ou CPoint) por este CSize valor. Os cx e cy membros desse CSize valor são adicionados aos xy e membros de dados do POINT valor. É análogo à versão do CPoint::operator + que usa um parâmetro SIZE .

  • operador +(lpRect)

    Esta operação compensa (move) um valor RECT (ou CRect) por este CSize valor. Os cx e cy membros desse CSize valor são adicionados aos leftmembros , top, righte bottom dados do RECT valor. É análogo à versão do CRect::operator + que usa um parâmetro SIZE .

Exemplo

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::operador -

Os três primeiros desses operadores subtraem esse CSize valor para o valor do 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();

Observações

O quarto operador, o unário menos, muda o sinal do CSize valor. Veja as seguintes descrições dos operadores individuais:

  • operador -(tamanho)

    Esta operação subtrai dois CSize valores.

  • operador -(ponto)

    Esta operação compensa (move) um valor POINT ou CPoint pelo inverso aditivo desse CSize valor. O cx e cy desse CSize valor são subtraídos dos x membros e y dados do POINT valor. É análogo à versão do CPoint::operator - que usa um parâmetro SIZE .

  • operador -(lpRect)

    Esta operação compensa (move) um valor RECT ou CRect pelo inverso aditivo desse CSize valor. Os cx e cy membros desse CSize valor são subtraídos dos leftmembros , top, right, e bottom dados do RECT valor. É análogo à versão do CRect::operator - que usa um parâmetro SIZE .

  • operador -()

    Esta operação retorna o inverso aditivo desse CSize valor.

Exemplo

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

Ver também

MDI de exemplo MFC
Gráfico de Hierarquia
Classe CRect
Classe CPoint