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::operator - | Subtrai dois tamanhos. |
CSize::operator != | Verifica a desigualdade entre CSize e um tamanho. |
CSize::operator + | Adiciona dois tamanhos. |
CSize::operator += | Adiciona um tamanho a CSize . |
CSize::operator -= | Subtrai um tamanho de CSize . |
CSize::operator == | Verifica a igualdade entre CSize e um tamanho. |
Comentários
Essa classe é derivada da estrutura SIZE
. Isso significa que você pode passar um CSize
em um parâmetro que exige um SIZE
e que os membros de dados da estrutura SIZE
são membros de dados acessíveis de CSize
.
Os membros cx
e cy
de SIZE
(e CSize
) são públicos. Além disso, CSize
implementa funções de membro para manipular a estrutura SIZE
.
Observação
Para mais informações sobre classes de utilitário compartilhado (como CSize
), confira Classes compartilhadas.
Hierarquia de herança
tagSIZE
CSize
Requisitos
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 membro cx
de CSize
.
initCY
Define o membro cy
de CSize
.
initSize
Estrutura SIZE ou objeto CSize
usado para inicializar CSize
.
initPt
Estrutura POINT ou objeto CPoint
usado para inicializar CSize
.
dwSize
DWORD usado para inicializar CSize
. A palavra de nível inferior é o membro cx
e a de nível superior é o membro cy
.
Comentários
Se nenhum argumento for fornecido, cx
e cy
serão inicializados como 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::operator ==
Verifica se há igualdade entre dois tamanhos.
BOOL operator==(SIZE size) const throw();
Comentários
Se os tamanhos são iguais, retorna diferente de zero; se não são, retorna 0.
Exemplo
CSize sz1(135, 135);
CSize sz2(135, 135);
ASSERT(sz1 == sz2);
CSize::operator !=
Verifica a desigualdade entre dois tamanhos.
BOOL operator!=(SIZE size) const throw();
Comentários
Se os tamanhos não são iguais, retorna diferente de zero; se são, retorna 0.
Exemplo
CSize sz1(222, 222);
CSize sz2(111, 111);
ASSERT(sz1 != sz2);
CSize::operator +=
Adiciona um tamanho a 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::operator -=
Subtrai um tamanho de 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::operator +
Esses operadores adicionam o valor CSize
ao valor do parâmetro.
CSize operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
Comentários
Confira as seguintes descrições dos operadores individuais:
operador +( tamanho )
Essa operação adiciona dois valores
CSize
.operador +( ponto )
Essa operação desloca (move) um valor POINT (ou CPoint) por esse valor
CSize
. Os membroscx
ecy
desse valorCSize
são adicionados aos membros de dadosx
ey
do valorPOINT
. É semelhante à versão de CPoint::operator +, que usa um parâmetro SIZE.operador +( lpRect )
Essa operação desloca (move) um valor RECT (ou CRect) por esse valor
CSize
. Os membroscx
ecy
desse valorCSize
são adicionados aos membros de dadosleft
,top
,right
ebottom
do valorRECT
. É semelhante à versão de 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::operator -
Os três primeiros desses operadores subtraem esse valor CSize
do 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();
Comentários
O quarto operador, o unário menos, altera o sinal do valor CSize
. Confira as seguintes descrições dos operadores individuais:
operador -( tamanho )
Essa operação subtrai dois valores
CSize
.operador -( ponto )
Essa operação desloca (move) um valor POINT ou CPoint pelo inverso aditivo desse valor
CSize
. Ocx
e ocy
desse valorCSize
são subtraídos dos membros de dadosx
ey
do valorPOINT
. É semelhante à versão de CPoint::operator -, que usa um parâmetro SIZE.operador -( lpRect )
Essa operação desloca (move) um valor RECT ou CRect pelo inverso aditivo desse valor
CSize
. Os membroscx
ecy
desse valorCSize
são subtraídos dos membros de dadosleft
,top
,right
ebottom
do valorRECT
. É semelhante à versão de CRect::operator -, que usa um parâmetro SIZE.operator -()
Essa operação retorna o inverso aditivo desse valor
CSize
.
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);
Confira também
MDI de exemplo do MFC
Gráfico da hierarquia
Classe CRect
Classe CPoint