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 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