CPoint
-Klasse
Ähnlich der Windows-Struktur POINT
.
Syntax
class CPoint : public tagPOINT
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CPoint::CPoint |
Erstellt ein Objekt vom Typ CPoint . |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CPoint::Offset |
Addiert Werte zu den x Und y Membern der CPoint . |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
CPoint::operator - |
Gibt die Differenz einer und einer CPoint SIZE , oder der Negation eines POINT , oder der CSize Differenz zwischen zwei POINT s oder dem Offset durch ein negatives SIZE zurück. |
CPoint::operator != |
Sucht nach Ungleichheiten zwischen zwei POINT s. |
CPoint::operator + |
Gibt die Summe einer und eines CPoint oder POINT oder SIZE eines CRect Offsets um ein SIZE . |
CPoint::operator += |
Versetzt durch CPoint Hinzufügen eines SIZE oder .POINT |
CPoint::operator -= |
Offsets CPoint durch Subtrahieren eines SIZE oder POINT . |
CPoint::operator == |
Überprüft die Gleichheit zwischen zwei POINT s. |
Hinweise
Sie umfasst auch Memberfunktionen zum Bearbeiten und POINT
StrukturierenCPoint
.
Ein CPoint
Objekt kann überall verwendet werden, wo eine POINT
Struktur verwendet wird. Die Operatoren dieser Klasse, die mit einem SIZE
Akzeptieren von CSize
Objekten oder SIZE
Strukturen interagieren, da die beiden austauschbar sind.
Hinweis
Diese Klasse wird von der tagPOINT
Struktur abgeleitet. (Der Name ist ein weniger häufig verwendeter Name tagPOINT
für die POINT
Struktur.) Dies bedeutet, dass die Datenmmber der POINT
Struktur x
und y
zugängliche Datenmmber von CPoint
.
Hinweis
Weitere Informationen zu freigegebenen Hilfsprogrammklassen (z CPoint
. B. ) finden Sie unter "Freigegebene Klassen".
Vererbungshierarchie
tagPOINT
CPoint
Anforderungen
Header: atltypes.h
CPoint::CPoint
Erstellt ein CPoint
-Objekt.
CPoint() throw();
CPoint(int initX, int initY) throw();
CPoint(POINT initPt) throw();
CPoint(SIZE initSize) throw();
CPoint(LPARAM dwPoint) throw();
Parameter
initX
Gibt den Wert des x
-Members von CPoint
an.
initY
Gibt den Wert des y
-Members von CPoint
an.
initPt
POINT
struktur oder CPoint
der die Werte angibt, die zum Initialisieren CPoint
verwendet werden.
initSize
SIZE
struktur oder CSize
der die Werte angibt, die zum Initialisieren CPoint
verwendet werden.
dwPoint
Legt das x
Element auf das Wort dwPoint
mit niedriger Reihenfolge und das y
Element auf das Wort mit hoher Reihenfolge fest.dwPoint
Hinweise
Wenn keine Argumente angegeben werden, werden die x
- und y
-Member auf 0 festgelegt.
Beispiel
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
Addiert Werte zu den x
Und y
Membern der CPoint
.
void Offset(int xOffset, int yOffset) throw();
void Offset(POINT point) throw();
void Offset(SIZE size) throw();
Parameter
xOffset
Gibt den Betrag an, der das x
Element des Elements CPoint
versetzt werden soll.
yOffset
Gibt den Betrag an, der das y
Element des Elements CPoint
versetzt werden soll.
point
Gibt den Betrag (POINT
oder CPoint
) an, der versetzt werden CPoint
soll.
size
Gibt den Betrag (SIZE
oder CSize
) an, der versetzt werden CPoint
soll.
Beispiel
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 ==
Überprüft die Gleichheit zwischen zwei POINT
s.
BOOL operator==(POINT point) const throw();
Parameter
point
Enthält eine Struktur oder CPoint
ein POINT
Objekt.
Rückgabewert
Nonzero, wenn die POINT
s gleich sind; andernfalls 0.
Beispiel
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 !=
Sucht nach Ungleichheiten zwischen zwei POINT
s.
BOOL operator!=(POINT point) const throw();
Parameter
point
Enthält eine Struktur oder CPoint
ein POINT
Objekt.
Rückgabewert
Nonzero, wenn dies POINT
nicht gleich ist; andernfalls 0.
Beispiel
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 +=
Die erste Überladung fügt der SIZE
CPoint
.
void operator+=(SIZE size) throw();
void operator+=(POINT point) throw();
Parameter
size
Enthält eine Struktur oder CSize
ein SIZE
Objekt.
point
Enthält eine Struktur oder CPoint
ein POINT
Objekt.
Hinweise
Die zweite Überladung fügt der POINT
CPoint
.
In beiden Fällen erfolgt das Hinzufügen des x
(oder cx
) Members des rechten Operanden zum x
Element des und Hinzufügen y
des CPoint
(oder cy
) Members des rechten Operanden zum y
Element des Elements der CPoint
rechten Seite.
So wird beispielsweise eine Variable hinzugefügt, CPoint(5, -7)
die die Variable CPoint(35, 33)
enthältCPoint(30, 40)
.
Beispiel
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 -=
Die erste Überladung subtrahiert eine SIZE
von der CPoint
.
void operator-=(SIZE size) throw();
void operator-=(POINT point) throw();
Parameter
size
Enthält eine Struktur oder CSize
ein SIZE
Objekt.
point
Enthält eine Struktur oder CPoint
ein POINT
Objekt.
Hinweise
Die zweite Überladung subtrahiert eine POINT
von der CPoint
.
In beiden Fällen wird Subtraktion durch Subtrahieren des x
(oder cx
) Members des rechten Operanden vom x
Element des CPoint
und Subtrahieren y
des (oder cy
) Members des rechten Operanden vom Element des rechten CPoint
Operanden .y
Subtrahieren CPoint(5, -7)
von einer Variablen, die die Variable CPoint(25, 47)
enthältCPoint(30, 40)
, z. B. in .
Beispiel
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 +
Verwenden Sie diesen Operator, um ein CPoint
Objekt CSize
oder ein Objekt zu versatzen oder um ein CRect
Objekt CPoint
zu versatzenCPoint
.
CPoint operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
Parameter
size
Enthält eine Struktur oder CSize
ein SIZE
Objekt.
point
Enthält eine Struktur oder CPoint
ein POINT
Objekt.
lpRect
Enthält einen Zeiger auf eine Struktur oder CRect
ein RECT
Objekt.
Rückgabewert
Ein CPoint
Offset durch ein SIZE
, ein , das CPoint
durch ein POINT
oder einen CRect
Offset durch ein POINT
.
Hinweise
Wenn Sie beispielsweise eine der ersten beiden Überladungen verwenden, um den Punkt CPoint(25, -19)
um einen Punkt CPoint(15, 5)
oder eine Größe CSize(15, 5)
zu verrechnen, wird der Wert CPoint(40, -14)
zurückgegeben.
Beim Hinzufügen eines Werts CRect
zu einem POINT
Wert wird der CRect
Wert zurückgegeben, der nach dem Offset durch die in der POINT
x
Datei angegebenen Werte y
zurückgegeben wird. Wenn Sie z. B. die letzte Überladung verwenden, um ein Rechteck CRect(125, 219, 325, 419)
um einen Punkt CPoint(25, -19)
zu versatz, wird zurückgegeben CRect(150, 200, 350, 400)
.
Beispiel
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 -
Verwenden Sie eine der ersten beiden Überladungen, um ein CPoint
oder CSize
ein Objekt von CPoint
.
CSize operator-(POINT point) const throw();
CPoint operator-(SIZE size) const throw();
CRect operator-(const RECT* lpRect) const throw();
CPoint operator-() const throw();
Parameter
point
Eine Struktur oder CPoint
ein POINT
Objekt.
size
Eine Struktur oder CSize
ein SIZE
Objekt.
lpRect
Ein Zeiger auf eine RECT
Struktur oder ein CRect
Objekt.
Rückgabewert
A CSize
that is the difference between two POINT
s, a CPoint
that is offset by the negation of a SIZE
, a CRect
that is offset by the negation of a POINT
, or a CPoint
that is the negation of a POINT
.
Hinweise
Die dritte Überladung versetzt eine CRect
durch die Negation von CPoint
. Verwenden Sie schließlich den unären Operator, um dies CPoint
zu verwerfen.
Verwenden Sie z. B. die erste Überladung, um den Unterschied zwischen zwei Punkten CPoint(25, -19)
zu finden und CPoint(15, 5)
gibt zurück CSize(10, -24)
.
Das Subtrahieren eines CSize
From-Objekts CPoint
führt dieselbe Berechnung wie oben aus, gibt aber ein CPoint
Objekt zurück, nicht ein CSize
Objekt. Verwenden Sie beispielsweise die zweite Überladung, um den Unterschied zwischen dem Punkt CPoint(25, -19)
und der Größe CSize(15, 5)
zu CPoint(10, -24)
ermitteln.
Subtrahieren eines Rechtecks von einem POINT
Gibt den Rechteckoffset durch die Negativen der x
in der POINT
Zeichenfolge angegebenen Werte zurücky
. Wenn Sie beispielsweise die letzte Überladung verwenden, um das Rechteck CRect(125, 200, 325, 400)
um den Punkt CPoint(25, -19)
zu versatzen, wird zurückgegeben CRect(100, 219, 300, 419)
.
Verwenden Sie den unären Operator, um ein POINT
. Verwenden Sie z. B. den unären Operator mit dem Punkt CPoint(25, -19)
zurück CPoint(-25, 19)
.
Beispiel
// 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);
Siehe auch
MFC-Beispiel-MDI
Hierarchiediagramm
POINT
Struktur
CRect
Klasse
CSize
Klasse