Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
Retornará 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::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 membroscxecydesse valorCSizesão adicionados aos membros de dadosxeydo 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 membroscxecydesse valorCSizesão adicionados aos membros de dadosleft,top,rightebottomdo 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. Ocxe ocydesse valorCSizesão subtraídos dos membros de dadosxeydo 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 membroscxecydesse valorCSizesão subtraídos dos membros de dadosleft,top,rightebottomdo 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