Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Classe
Semelhante à estrutura POINT do Windows.
Sintaxe
class CPoint : public tagPOINT
Membros
Construtores públicos
| Nome | Descrição |
|---|---|
CPoint::CPoint |
Constrói um CPoint. |
Métodos públicos
| Nome | Descrição |
|---|---|
CPoint::Offset |
Adiciona valores aos membros x e y ao CPoint. |
Operadores públicos
| Nome | Descrição |
|---|---|
CPoint::operator - |
Retorna a diferença de um CPoint e um SIZE, ou a negação de um POINT, ou a CSize diferença entre dois POINTs ou o deslocamento por um negativo SIZE. |
CPoint::operator != |
Verifica a desigualdade entre dois POINTs. |
CPoint::operator + |
Retorna a soma de um CPoint e um SIZE ou POINT, ou um deslocamento de CRect por um SIZE. |
CPoint::operator += |
Desloca CPoint adicionando um SIZE ou POINT. |
CPoint::operator -= |
Desloca CPoint subtraindo um SIZE ou POINT. |
CPoint::operator == |
Verifica se há igualdade entre dois POINTs. |
Comentários
Também inclui funções de membro para manipular estruturas CPoint e POINT.
Um objeto CPoint pode ser usado sempre que uma estrutura POINT é usada. Os operadores dessa classe que interagem com um SIZE aceitam objetos CSize ou estruturas SIZE, já que os dois são intercambiáveis.
Observação
Essa classe é derivada da estrutura tagPOINT. (O nome tagPOINT é um nome menos usado para a estrutura POINT.) Isso significa que os membros de dados da estrutura POINT, x e y são membros de dados acessíveis de CPoint.
Observação
Para mais informações sobre classes de utilitário compartilhado (como CPoint), confira Classes compartilhadas.
Hierarquia de herança
tagPOINT
CPoint
Requisitos
Cabeçalho: atltypes.h
CPoint::CPoint
Constrói um objeto CPoint.
CPoint() throw();
CPoint(int initX, int initY) throw();
CPoint(POINT initPt) throw();
CPoint(SIZE initSize) throw();
CPoint(LPARAM dwPoint) throw();
Parâmetros
initX
Especifica o valor do membro x de CPoint.
initY
Especifica o valor do membro y de CPoint.
initPt
A estrutura POINT ou CPoint que especifica os valores usados para inicializar CPoint.
initSize
A estrutura SIZE ou CSize que especifica os valores usados para inicializar CPoint.
dwPoint
Define o membro x como a palavra de ordem inferior de dwPoint e o membro y como a palavra de ordem superior de dwPoint.
Comentários
Se nenhum argumento for fornecido, os membros x e y serão definidos como 0.
Exemplo
CPoint ptTopLeft(0, 0);
// works from a POINT, too
POINT ptHere;
ptHere.x = 35;
ptHere.y = 95;
CPoint ptMFCHere(ptHere);
// works from a SIZE
SIZE sHowBig;
sHowBig.cx = 300;
sHowBig.cy = 10;
CPoint ptMFCBig(sHowBig);
// or from a DWORD
DWORD dwSize;
dwSize = MAKELONG(35, 95);
CPoint ptFromDouble(dwSize);
ASSERT(ptFromDouble == ptMFCHere);
CPoint::Offset
Adiciona valores aos membros x e y ao CPoint.
void Offset(int xOffset, int yOffset) throw();
void Offset(POINT point) throw();
void Offset(SIZE size) throw();
Parâmetros
xOffset
Especifica o valor para deslocar o membro x de CPoint.
yOffset
Especifica o valor para deslocar o membro y de CPoint.
point
Especifica o valor (POINT ou CPoint) para deslocar CPoint.
size
Especifica o valor (SIZE ou CSize) para deslocar CPoint.
Exemplo
CPoint ptStart(100, 100);
ptStart.Offset(35, 35);
CPoint ptResult(135, 135);
ASSERT(ptStart == ptResult);
// works with POINT, too
ptStart = CPoint(100, 100);
POINT pt;
pt.x = 35;
pt.y = 35;
ptStart.Offset(pt);
ASSERT(ptStart == ptResult);
// works with SIZE, too
ptStart = CPoint(100, 100);
SIZE size;
size.cx = 35;
size.cy = 35;
ptStart.Offset(size);
ASSERT(ptStart == ptResult);
CPoint::operator ==
Verifica se há igualdade entre dois POINTs.
BOOL operator==(POINT point) const throw();
Parâmetros
point
Contém uma estrutura POINT ou um objeto CPoint.
Valor de retorno
Diferente de zero se os POINTs forem iguais; caso contrário, 0.
Exemplo
CPoint ptFirst(256, 128);
CPoint ptTest(256, 128);
ASSERT(ptFirst == ptTest);
// works with POINTs, too
POINT pt;
pt.x = 256;
pt.y = 128;
ASSERT(ptTest == pt);
// note that pt == ptTest isn't correct!
CPoint::operator !=
Verifica a desigualdade entre dois POINTs.
BOOL operator!=(POINT point) const throw();
Parâmetros
point
Contém uma estrutura POINT ou um objeto CPoint.
Valor de retorno
Diferente de zero se os POINTs não forem iguais; caso contrário, 0.
Exemplo
CPoint ptFirst(256, 128);
CPoint ptTest(111, 333);
ASSERT(ptFirst != ptTest);
// works with POINTs, too
POINT pt;
pt.x = 333;
pt.y = 111;
ASSERT(ptTest != pt);
// note that pt != ptTest isn't correct!
CPoint::operator +=
A primeira sobrecarga adiciona um SIZE ao CPoint.
void operator+=(SIZE size) throw();
void operator+=(POINT point) throw();
Parâmetros
size
Contém uma estrutura SIZE ou um objeto CSize.
point
Contém uma estrutura POINT ou um objeto CPoint.
Comentários
A segunda sobrecarga adiciona um POINT ao CPoint.
Em ambos os casos, a adição é feita adicionando membro x (ou cx) do operando à direita ao x membro do CPoint e adicionando o membro y (ou cy) do operando à direita ao membro y do CPoint.
Por exemplo, adicionar CPoint(5, -7) a uma variável que contém CPoint(30, 40) altera a variável para CPoint(35, 33).
Exemplo
CPoint ptStart(100, 100);
CSize szOffset(35, 35);
ptStart += szOffset;
CPoint ptResult(135, 135);
ASSERT(ptResult == ptStart);
// also works on SIZE
ptStart = CPoint(100, 100);
SIZE sz;
sz.cx = 35;
sz.cy = 35;
ptStart += sz;
ASSERT(ptResult == ptStart);
CPoint::operator -=
A primeira sobrecarga subtrai um SIZE de CPoint.
void operator-=(SIZE size) throw();
void operator-=(POINT point) throw();
Parâmetros
size
Contém uma estrutura SIZE ou um objeto CSize.
point
Contém uma estrutura POINT ou um objeto CPoint.
Comentários
A segunda sobrecarga subtrai um POINT de CPoint.
Em ambos os casos, a subtração é feita subtraindo o membro x (ou cx) membro do operando à direita do x membro do CPoint e subtraindo o y (ou cy) membro do operando à direita do membro y do CPoint.
Por exemplo, subtrair CPoint(5, -7) de uma variável que contém CPoint(30, 40) altera a variável para CPoint(25, 47).
Exemplo
CPoint ptStart(100, 100);
CSize szOffset(35, 35);
ptStart -= szOffset;
CPoint ptResult(65, 65);
ASSERT(ptResult == ptStart);
// also works on SIZE
ptStart = CPoint(100, 100);
SIZE sz;
sz.cx = 35;
sz.cy = 35;
ptStart -= sz;
ASSERT(ptResult == ptStart);
CPoint::operator +
Use esse operador para compensar CPoint por um objeto CPoint ou CSize para compensar um CRect por um CPoint.
CPoint operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
Parâmetros
size
Contém uma estrutura SIZE ou um objeto CSize.
point
Contém uma estrutura POINT ou um objeto CPoint.
lpRect
Converte um ponteiro em uma estrutura RECT ou um objeto CRect.
Valor de retorno
Um CPoint que é deslocado por um SIZE, um CPoint que é deslocado por um POINT ou um CRect deslocado por um POINT.
Comentários
Por exemplo, usar uma das duas primeiras sobrecargas para compensar o ponto CPoint(25, -19) por um ponto CPoint(15, 5) ou tamanho CSize(15, 5) retorna o valor CPoint(40, -14).
A adição de um CRect a um POINT retorna CRect após ser deslocado pelos valores x e y especificados em POINT. Por exemplo, usar a última sobrecarga para compensar um retângulo CRect(125, 219, 325, 419) por um ponto CPoint(25, -19) retorna CRect(150, 200, 350, 400).
Exemplo
CPoint ptStart(100, 100);
CSize szOffset(35, 35);
CPoint ptEnd;
ptEnd = ptStart + szOffset;
CPoint ptResult(135, 135);
ASSERT(ptResult == ptEnd);
// also works on SIZE
ptStart = CPoint(100, 100);
SIZE sz;
sz.cx = 35;
sz.cy = 35;
ptEnd = ptStart + sz;
ASSERT(ptResult == ptEnd);
CPoint::operator -
Use uma das duas primeiras sobrecargas para subtrair um objeto CPoint ou CSize de CPoint.
CSize operator-(POINT point) const throw();
CPoint operator-(SIZE size) const throw();
CRect operator-(const RECT* lpRect) const throw();
CPoint operator-() const throw();
Parâmetros
point
Uma estrutura POINT ou objeto CPoint.
size
Uma estrutura SIZE ou objeto CSize.
lpRect
Um ponteiro para uma estrutura RECT ou um objeto CRect.
Valor de retorno
Um CSize que é a diferença entre dois POINTs, uma CPoint que é compensada pela negação de um SIZE, um CRect que é deslocado pela negação de um POINT ou um CPoint que é a negação de um POINT.
Comentários
A terceira sobrecarga desloca um CRect pela negação de CPoint. Por fim, use o operador unário para negar CPoint.
Por exemplo, usando a primeira sobrecarga para encontrar a diferença entre dois pontos CPoint(25, -19) e CPoint(15, 5) retorna CSize(10, -24).
A subtração de um CSize de CPoint faz o mesmo cálculo que acima, mas retorna um objeto CPoint, não um objeto CSize. Por exemplo, usar a segunda sobrecarga para encontrar a diferença entre o ponto CPoint(25, -19) e o tamanho CSize(15, 5) retorna CPoint(10, -24).
Subtrair um retângulo de um POINT retorna o deslocamento do retângulo pelos negativos dos valores xe y especificados em POINT. Por exemplo, usar a última sobrecarga para deslocar o retângulo CRect(125, 200, 325, 400) pelo ponto CPoint(25, -19) retorna CRect(100, 219, 300, 419).
Use o operador unário para negar um POINT. Por exemplo, usar o operador unário com o ponto CPoint(25, -19) retorna CPoint(-25, 19).
Exemplo
// example for CPoint subtraction
CPoint ptStart(100, 100);
CSize szOffset(35, 35);
CPoint ptEnd;
ptEnd = ptStart - szOffset;
CPoint ptResult(65, 65);
ASSERT(ptResult == ptEnd);
// also works on SIZE
ptStart = CPoint(100, 100);
SIZE sz;
sz.cx = 35;
sz.cy = 35;
ptEnd = ptStart - sz;
ASSERT(ptResult == ptEnd);
// example for CPoint unary operator
CPoint pt(35, 35);
pt = -pt;
CPoint ptNeg(-35, -35);
ASSERT(pt == ptNeg);
Confira também
MDI de exemplo do MFC
Gráfico da hierarquia
Estrutura POINT
Classe CRect
Classe CSize