La classe CPoint
Semblable à la structure POINT
Windows.
Syntaxe
class CPoint : public tagPOINT
Membres
Constructeurs publics
Nom | Description |
---|---|
CPoint::CPoint |
Construit un objet CPoint . |
Méthodes publiques
Nom | Description |
---|---|
CPoint::Offset |
Ajoute des valeurs aux membres et y aux x membres du CPoint . |
Opérateurs publics
Nom | Description |
---|---|
CPoint::operator - |
Retourne la différence d’un CPoint et d’un SIZE , ou la négation d’un POINT , ou la CSize différence entre deux POINT s, ou le décalage par un négatif SIZE . |
CPoint::operator != |
Vérifie l’inégalité entre deux POINT s. |
CPoint::operator + |
Retourne la somme d’un CPoint ou d’un SIZE ou POINT d’un CRect décalage par un SIZE . |
CPoint::operator += |
Décalages en CPoint ajoutant un SIZE ou POINT . |
CPoint::operator -= |
Décalages CPoint en soustrayant un SIZE ou POINT . |
CPoint::operator == |
Vérifie l’égalité entre deux POINT s. |
Notes
Il inclut également des fonctions membres pour manipuler et POINT
structurerCPoint
.
Un CPoint
objet peut être utilisé partout où une POINT
structure est utilisée. Opérateurs de cette classe qui interagissent avec des SIZE
objets ou SIZE
des structures acceptésCSize
, car les deux sont interchangeables.
Remarque
Cette classe est dérivée de la tagPOINT
structure. (Le nom est un nom tagPOINT
moins couramment utilisé pour la POINT
structure.) Cela signifie que les membres de données de la POINT
structure et y
x
, sont des membres de données accessibles de CPoint
.
Remarque
Pour plus d’informations sur les classes utilitaires partagées (par CPoint
exemple), consultez Classes partagées.
Hiérarchie d'héritage
tagPOINT
CPoint
Spécifications
En-tête : atltypes.h
CPoint::CPoint
Construit un objet CPoint
.
CPoint() throw();
CPoint(int initX, int initY) throw();
CPoint(POINT initPt) throw();
CPoint(SIZE initSize) throw();
CPoint(LPARAM dwPoint) throw();
Paramètres
initX
Spécifie la valeur du membre x
de CPoint
.
initY
Spécifie la valeur du membre y
de CPoint
.
initPt
POINT
structure ou CPoint
qui spécifie les valeurs utilisées pour initialiser CPoint
.
initSize
SIZE
structure ou CSize
qui spécifie les valeurs utilisées pour initialiser CPoint
.
dwPoint
Définit le x
membre sur le mot de bas ordre de dwPoint
et le y
membre sur le mot de haut ordre de dwPoint
.
Notes
Si aucun argument n’est fourni, les membres x
et y
ont la valeur 0.
Exemple
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
Ajoute des valeurs aux membres et y
aux x
membres du CPoint
.
void Offset(int xOffset, int yOffset) throw();
void Offset(POINT point) throw();
void Offset(SIZE size) throw();
Paramètres
xOffset
Spécifie la quantité à décaler le x
membre du CPoint
.
yOffset
Spécifie la quantité à décaler le y
membre du CPoint
.
point
Spécifie la quantité (POINT
ou CPoint
) à décaler .CPoint
size
Spécifie la quantité (SIZE
ou CSize
) à décaler .CPoint
Exemple
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 ==
Vérifie l’égalité entre deux POINT
s.
BOOL operator==(POINT point) const throw();
Paramètres
point
Contient une structure ou CPoint
un POINT
objet.
Valeur de retour
Différent de zéro si les POINT
s sont égaux ; sinon 0.
Exemple
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 !=
Vérifie l’inégalité entre deux POINT
s.
BOOL operator!=(POINT point) const throw();
Paramètres
point
Contient une structure ou CPoint
un POINT
objet.
Valeur de retour
Différent de zéro si les POINT
s ne sont pas égaux ; sinon 0.
Exemple
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 +=
La première surcharge ajoute un SIZE
à l’élément CPoint
.
void operator+=(SIZE size) throw();
void operator+=(POINT point) throw();
Paramètres
size
Contient une structure ou CSize
un SIZE
objet.
point
Contient une structure ou CPoint
un POINT
objet.
Notes
La deuxième surcharge ajoute un POINT
à l’élément CPoint
.
Dans les deux cas, l’ajout du x
membre (oucx
) de l’opérande de droite au membre de l’opérande CPoint
x
(ou ) est ajouté au membre de l’opérande de droite et en ajoutant le y
(oucy
) membre de l’opérande de droite au y
membre du CPoint
.
Par exemple, l’ajout CPoint(5, -7)
à une variable qui contient CPoint(30, 40)
les modifications apportées à CPoint(35, 33)
la variable .
Exemple
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 -=
La première surcharge soustrait une SIZE
de la CPoint
.
void operator-=(SIZE size) throw();
void operator-=(POINT point) throw();
Paramètres
size
Contient une structure ou CSize
un SIZE
objet.
point
Contient une structure ou CPoint
un POINT
objet.
Notes
La deuxième surcharge soustrait une POINT
de la CPoint
.
Dans les deux cas, la soustraction est effectuée en soustrayant le x
membre (ou cx
) de l’opérande de droite du x
membre du membre de l’opérande CPoint
de droite et en soustrayant le y
membre (ou cy
) de l’opérande de droite du y
membre du CPoint
.
Par exemple, soustraction CPoint(5, -7)
d’une variable qui contient CPoint(30, 40)
les modifications apportées à CPoint(25, 47)
la variable .
Exemple
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 +
Utilisez cet opérateur pour décaler CPoint
par un ou CSize
un CPoint
objet, ou pour décaler un CRect
par un CPoint
.
CPoint operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
Paramètres
size
Contient une structure ou CSize
un SIZE
objet.
point
Contient une structure ou CPoint
un POINT
objet.
lpRect
Contient un pointeur vers une structure ou CRect
un RECT
objet.
Valeur de retour
Qui CPoint
est décalé par un SIZE
, qui CPoint
est décalé par un POINT
, ou un CRect
décalage par un POINT
.
Notes
Par exemple, l’utilisation de l’une des deux premières surcharges pour décaler le point par un point CPoint(25, -19)
CPoint(15, 5)
ou une taille CSize(15, 5)
retourne la valeur CPoint(40, -14)
.
L’ajout d’un à un POINT
retourne le CRect
décalage après avoir été décalé par les x
valeurs spécifiées y
dans le POINT
.CRect
Par exemple, l’utilisation de la dernière surcharge pour décaler un rectangle CRect(125, 219, 325, 419)
par un point CPoint(25, -19)
retourne CRect(150, 200, 350, 400)
.
Exemple
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 -
Utilisez l’une des deux premières surcharges pour soustraire un ou CSize
un CPoint
objet 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();
Paramètres
point
Structure POINT
ou CPoint
objet.
size
Structure SIZE
ou CSize
objet.
lpRect
Pointeur vers une RECT
structure ou un CRect
objet.
Valeur de retour
C’est CSize
la différence entre deux POINT
s, un CPoint
décalage par la négation d’un SIZE
, un décalage par la négation d’un , un CRect
décalage par la négation d’un POINT
, ou un CPoint
qui est la négation d’un POINT
.
Notes
La troisième surcharge décalée CRect
par la négation de CPoint
. Enfin, utilisez l’opérateur unaire pour annuler CPoint
.
Par exemple, en utilisant la première surcharge pour rechercher la différence entre deux points CPoint(25, -19)
et CPoint(15, 5)
les retours CSize(10, -24)
.
Soustraire un calcul CPoint
CSize
fait le même calcul que ci-dessus, mais retourne un CPoint
objet, et non un CSize
objet. Par exemple, l’utilisation de la deuxième surcharge pour rechercher la différence entre le point CPoint(25, -19)
et la taille CSize(15, 5)
retourne CPoint(10, -24)
.
Soustraction d’un rectangle d’un POINT
retour du décalage de rectangle par les négatifs des x
valeurs et y
des valeurs spécifiées dans le POINT
. Par exemple, l’utilisation de la dernière surcharge pour décaler le rectangle CRect(125, 200, 325, 400)
par le point CPoint(25, -19)
retourne CRect(100, 219, 300, 419)
.
Utilisez l’opérateur unaire pour négation d’un POINT
. Par exemple, à l’aide de l’opérateur unaire avec le point CPoint(25, -19)
retourne CPoint(-25, 19)
.
Exemple
// 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);
Voir aussi
Exemple MFC MDI
Graphique hiérarchique
POINT
Structure
CRect
Classe
CSize
Classe