Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La classe
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 POINTs, ou le décalage par un négatif SIZE. |
CPoint::operator != |
Vérifie l’inégalité entre deux POINTs. |
CPoint::operator + |
Retourne la somme d’un CPoint ou d’un SIZE ou POINTd’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 POINTs. |
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 yx , sont des membres de données accessibles de CPoint.
Remarque
Pour plus d’informations sur les classes utilitaires partagées (par CPointexemple), 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 POINTs.
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 POINTs 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 POINTs.
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 POINTs 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 POINTs, 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