Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podobnie jak struktura systemu Windows POINT .
Składnia
class CPoint : public tagPOINT
Elementy członkowskie
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
CPoint::CPoint |
Tworzy element CPoint. |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
CPoint::Offset |
Dodaje wartości do elementów x i y elementu CPoint. |
Operatory publiczne
| Nazwa/nazwisko | opis |
|---|---|
CPoint::operator - |
Zwraca różnicę wartości i CPoint SIZE, lub negację POINTwartości , lub CSize różnicę między dwoma POINTs lub przesunięciem przez ujemną SIZEwartość . |
CPoint::operator != |
Sprawdza nierówność między dwoma POINTs. |
CPoint::operator + |
Zwraca sumę wartości CPoint i lub SIZE , lub POINTCRect przesunięcie przez SIZE. |
CPoint::operator += |
CPoint Przesunięcia przez dodanie elementu SIZE lub POINT. |
CPoint::operator -= |
CPoint Przesunięcia przez odjęcie wartości SIZE lub POINT. |
CPoint::operator == |
Sprawdza równość między dwoma POINTs. |
Uwagi
Zawiera również funkcje składowe do manipulowania strukturami i POINT ich manipulowaniaCPoint.
Obiekt CPoint może być używany wszędzie tam POINT , gdzie jest używana struktura. Operatory tej klasy, które współdziałają z akceptowanymi SIZE CSize obiektami lub SIZE strukturami, ponieważ te dwie klasy są wymienne.
Uwaga
Ta klasa pochodzi ze tagPOINT struktury. (Nazwa tagPOINT jest rzadziej używaną nazwą strukturyPOINT). Oznacza to, że składowe POINT danych struktury x i y, są dostępnymi elementami członkowskimi danych .CPoint
Uwaga
Aby uzyskać więcej informacji na temat udostępnionych klas narzędzi (takich jak CPoint), zobacz Klasy udostępnione.
Hierarchia dziedziczenia
tagPOINT
CPoint
Wymagania
Nagłówek: atltypes.h
CPoint::CPoint
CPoint Tworzy obiekt.
CPoint() throw();
CPoint(int initX, int initY) throw();
CPoint(POINT initPt) throw();
CPoint(SIZE initSize) throw();
CPoint(LPARAM dwPoint) throw();
Parametry
initX
Określa wartość x elementu członkowskiego .CPoint
initY
Określa wartość y elementu członkowskiego .CPoint
initPt
POINT struktura lub CPoint określa wartości używane do inicjowania CPoint.
initSize
SIZE struktura lub CSize określa wartości używane do inicjowania CPoint.
dwPoint
Ustawia element członkowski x na wyraz o dwPoint niskiej kolejności i y element członkowski na wyraz o wysokiej kolejności .dwPoint
Uwagi
Jeśli nie podano argumentów, x a y elementy członkowskie są ustawione na 0.
Przykład
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
Dodaje wartości do elementów x i y elementu CPoint.
void Offset(int xOffset, int yOffset) throw();
void Offset(POINT point) throw();
void Offset(SIZE size) throw();
Parametry
xOffset
Określa kwotę przesunięcia x elementu członkowskiego .CPoint
yOffset
Określa kwotę przesunięcia y elementu członkowskiego .CPoint
point
Określa kwotę (POINT lub CPoint), aby zrównoważyć CPointwartość .
size
Określa kwotę (SIZE lub CSize), aby zrównoważyć CPointwartość .
Przykład
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 ==
Sprawdza równość między dwoma POINTs.
BOOL operator==(POINT point) const throw();
Parametry
point
POINT Zawiera strukturę lub CPoint obiekt.
Wartość zwracana
Nonzero, jeśli POINTs są równe; w przeciwnym razie 0.
Przykład
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 !=
Sprawdza nierówność między dwoma POINTs.
BOOL operator!=(POINT point) const throw();
Parametry
point
POINT Zawiera strukturę lub CPoint obiekt.
Wartość zwracana
Niezerowe, jeśli POINTwartości nie są równe; w przeciwnym razie 0.
Przykład
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 +=
Pierwsze przeciążenie dodaje element SIZE do elementu CPoint.
void operator+=(SIZE size) throw();
void operator+=(POINT point) throw();
Parametry
size
SIZE Zawiera strukturę lub CSize obiekt.
point
POINT Zawiera strukturę lub CPoint obiekt.
Uwagi
Drugie przeciążenie dodaje element POINT do elementu CPoint.
W obu przypadkach dodanie jest wykonywane przez dodanie x (lub cx) elementu członkowskiego operandu po prawej stronie do x elementu członkowskiego CPoint i dodanie y elementu członkowskiego (lub cy) elementu operandu po prawej stronie do y elementu członkowskiego CPoint.
Na przykład dodanie CPoint(5, -7) do zmiennej zawierającej CPoint(30, 40) zmiany zmiennej na CPoint(35, 33).
Przykład
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 -=
Pierwsze przeciążenie odejmuje element SIZE z elementu CPoint.
void operator-=(SIZE size) throw();
void operator-=(POINT point) throw();
Parametry
size
SIZE Zawiera strukturę lub CSize obiekt.
point
POINT Zawiera strukturę lub CPoint obiekt.
Uwagi
Drugie przeciążenie odejmuje element POINT z elementu CPoint.
W obu przypadkach odejmowanie jest odejmowane przez odjęcie x (lub cx) elementu członkowskiego operandu po prawej stronie od x elementu członkowskiego CPoint i odejmowanie y elementu członkowskiego (lub cy) elementu operandu po prawej stronie od y elementu członkowskiego CPoint.
Na przykład odejmowanie CPoint(5, -7) ze zmiennej zawierającej CPoint(30, 40) zmiany zmiennej na CPoint(25, 47).
Przykład
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 +
Użyj tego operatora, aby zrównoważyć CPoint obiekt CPoint lub CSize , aby zrównoważyć wartość CRect przez element CPoint.
CPoint operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
Parametry
size
SIZE Zawiera strukturę lub CSize obiekt.
point
POINT Zawiera strukturę lub CPoint obiekt.
lpRect
Zawiera wskaźnik do RECT struktury lub CRect obiektu.
Wartość zwracana
Element CPoint , który jest przesunięty przez SIZE, , CPoint który jest przesunięty przez POINT, lub CRect przesunięcie przez POINT.
Uwagi
Na przykład użycie jednego z dwóch pierwszych przeciążeń w celu przesunięcia punktu przez punkt CPoint(25, -19) CPoint(15, 5) lub rozmiar CSize(15, 5) zwraca wartość CPoint(40, -14).
Dodanie elementu CRect do elementu POINT zwraca CRect wartość po zrównoważeniu wartości x i y określonych w elem.POINT Na przykład użycie ostatniego przeciążenia w celu przesunięcia prostokąta CRect(125, 219, 325, 419) przez punkt CPoint(25, -19) zwraca wartość CRect(150, 200, 350, 400).
Przykład
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 -
Użyj jednego z dwóch pierwszych przeciążeń, aby odjąć CPoint obiekt lub CSize z CPoint.
CSize operator-(POINT point) const throw();
CPoint operator-(SIZE size) const throw();
CRect operator-(const RECT* lpRect) const throw();
CPoint operator-() const throw();
Parametry
point
Struktura POINT lub CPoint obiekt.
size
Struktura SIZE lub CSize obiekt.
lpRect
Wskaźnik do RECT struktury lub CRect obiektu.
Wartość zwracana
Jest CSize to różnica między dwoma POINTs, CPoint które jest przesunięte przez negację SIZE, a CRect to jest przesunięte przez negację POINTwartości , lub , CPoint która jest negacją elementu POINT.
Uwagi
Trzecie przeciążenie przesuwa CRect element przez negację elementu CPoint. Na koniec użyj operatora jednoargumentowego, aby negować CPoint.
Na przykład użycie pierwszego przeciążenia w celu znalezienia różnicy między dwoma punktami CPoint(25, -19) i CPoint(15, 5) zwraca wartość CSize(10, -24).
Odejmowanie elementu z CPoint wykonuje to samo obliczenie CSize co powyżej, ale zwraca CPoint obiekt, a nie CSize obiekt. Na przykład użycie drugiego przeciążenia w celu znalezienia różnicy między punktem CPoint(25, -19) a rozmiarem CSize(15, 5) zwraca wartość CPoint(10, -24).
Odejmowanie prostokąta z POINT obiektu zwraca przesunięcie prostokąta przez wartości ujemne x wartości i y określone w elem.POINT Na przykład użycie ostatniego przeciążenia w celu przesunięcia prostokąta CRect(125, 200, 325, 400) przez punkt CPoint(25, -19) zwraca wartość CRect(100, 219, 300, 419).
Użyj operatora jednoargumentowego, aby negować element POINT. Na przykład użycie operatora jednoargumentowego z punktem CPoint(25, -19) zwraca wartość CPoint(-25, 19).
Przykład
// 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);
Zobacz też
Przykładowe mdI MFC
Wykres hierarchii
POINT Struktura
CRect Klasa
CSize Klasa