Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Podobá se struktuře Windows POINT .
Syntaxe
class CPoint : public tagPOINT
Členové
Veřejné konstruktory
| Název | Popis |
|---|---|
CPoint::CPoint |
Vytvoří .CPoint |
Veřejné metody
| Název | Popis |
|---|---|
CPoint::Offset |
Přičte hodnoty k x členům y objektu CPoint. |
Veřejné operátory
| Název | Popis |
|---|---|
CPoint::operator - |
Vrátí rozdíl a CPoint a , SIZEnebo negace POINTnebo CSize rozdíl mezi dvěma POINTs, nebo posun záporným SIZE. |
CPoint::operator != |
Kontroluje nerovnost mezi dvěma POINTs. |
CPoint::operator + |
Vrátí součet a CPoint SIZE nebo POINTCRect nebo posun o SIZEhodnotu . |
CPoint::operator += |
Posuny CPoint přidáním SIZE nebo POINT. |
CPoint::operator -= |
Posuny CPoint odečtením SIZE nebo POINT. |
CPoint::operator == |
Kontroluje rovnost mezi dvěma POINTs. |
Poznámky
Obsahuje také členské funkce pro manipulaci CPoint a POINT struktury.
Objekt CPoint lze použít všude, kde POINT se používá struktura. Operátory této třídy, které komunikují s SIZE objekty CSize nebo SIZE strukturami, protože tyto dva objekty jsou zaměnitelné.
Poznámka:
Tato třída je odvozena ze tagPOINT struktury. (Název tagPOINT je méně často používaný název strukturyPOINT.) To znamená, x že datové členy POINT struktury a yjsou přístupnými datovými členy CPoint.
Poznámka:
Další informace o sdílených třídách nástrojů (například CPoint) naleznete v tématu Sdílené třídy.
Hierarchie dědičnosti
tagPOINT
CPoint
Požadavky
Záhlaví: atltypes.h
CPoint::CPoint
CPoint Vytvoří objekt.
CPoint() throw();
CPoint(int initX, int initY) throw();
CPoint(POINT initPt) throw();
CPoint(SIZE initSize) throw();
CPoint(LPARAM dwPoint) throw();
Parametry
initX
Určuje hodnotu x člena CPoint.
initY
Určuje hodnotu y člena CPoint.
initPt
POINTCPoint nebo určuje hodnoty použité k inicializaci CPoint.
initSize
SIZECSize nebo určuje hodnoty použité k inicializaci CPoint.
dwPoint
x Nastaví člena na slovo dwPoint nízkého pořadí a y člena na slovo dwPoints vysokým pořadím .
Poznámky
Pokud nejsou zadány x žádné argumenty a y členy jsou nastaveny na hodnotu 0.
Příklad
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
Přičte hodnoty k x členům y objektu CPoint.
void Offset(int xOffset, int yOffset) throw();
void Offset(POINT point) throw();
void Offset(SIZE size) throw();
Parametry
xOffset
Určuje částku, která má být posunu x člena CPoint.
yOffset
Určuje částku, která má být posunu y člena CPoint.
point
Určuje částku (POINT nebo CPoint) k posunu CPoint.
size
Určuje částku (SIZE nebo CSize) k posunu CPoint.
Příklad
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 ==
Kontroluje rovnost mezi dvěma POINTs.
BOOL operator==(POINT point) const throw();
Parametry
point
POINT Obsahuje strukturu nebo CPoint objekt.
Návratová hodnota
Nenulové, pokud jsou rovny POINT; jinak 0.
Příklad
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 !=
Kontroluje nerovnost mezi dvěma POINTs.
BOOL operator!=(POINT point) const throw();
Parametry
point
POINT Obsahuje strukturu nebo CPoint objekt.
Návratová hodnota
Nenulové, pokud POINTse nerovnají, jinak 0.
Příklad
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 +=
První přetížení přidá SIZE do CPoint.
void operator+=(SIZE size) throw();
void operator+=(POINT point) throw();
Parametry
size
SIZE Obsahuje strukturu nebo CSize objekt.
point
POINT Obsahuje strukturu nebo CPoint objekt.
Poznámky
Druhé přetížení přidá POINT do CPoint.
V oboupřípadechch x cxx CPoint y cyy CPoint
Například přidání CPoint(5, -7) do proměnné, která obsahuje CPoint(30, 40) změny proměnné na CPoint(35, 33).
Příklad
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 -=
První přetížení odečte od SIZE CPoint.
void operator-=(SIZE size) throw();
void operator-=(POINT point) throw();
Parametry
size
SIZE Obsahuje strukturu nebo CSize objekt.
point
POINT Obsahuje strukturu nebo CPoint objekt.
Poznámky
Druhé přetížení odečte od POINT CPoint.
V obou případech se odčítání provádí odečtením x (nebo cx) člena pravého operandu od x člena CPoint a odečtením y (nebo cy) člena pravého operandu od y člena operandu CPoint.
Například odečtení CPoint(5, -7) od proměnné, která obsahuje CPoint(30, 40) změny proměnné na CPoint(25, 47).
Příklad
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 +
Tento operátor slouží k posunu CPoint objektu CPoint nebo CSize objektu nebo k posunu CRect o .CPoint
CPoint operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
Parametry
size
SIZE Obsahuje strukturu nebo CSize objekt.
point
POINT Obsahuje strukturu nebo CPoint objekt.
lpRect
Obsahuje ukazatel na RECT strukturu nebo CRect objekt.
Návratová hodnota
Odsazení CPoint je posunem SIZE, CPoint který je posunem POINT, nebo CRect posunem POINTo .
Poznámky
Například použití jednoho z prvních dvou přetížení k posunu bodu o bod CPoint(25, -19) CPoint(15, 5) nebo velikost CSize(15, 5) vrátí hodnotu CPoint(40, -14).
CRect Přidání k návratu POINT CRect vrátí po posunu hodnotami zadanými x y v sadě POINT. Například pomocí posledního přetížení posun obdélníku CRect(125, 219, 325, 419) o bod CPoint(25, -19) vrátí CRect(150, 200, 350, 400).
Příklad
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 -
K odečtení objektu nebo objektu CPoint CSize použijte CPointjedno z prvních dvou přetížení .
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 nebo CPoint objekt
size
Struktura SIZE nebo CSize objekt
lpRect
Ukazatel na RECT strukturu nebo CRect objekt.
Návratová hodnota
To CSize je rozdíl mezi dvěma POINTs, CPoint který je posunem negacem SIZE, CRect který je posunut negací negace , POINTnebo to CPoint je negace .POINT
Poznámky
Třetí přetížení posune CRect odsazením negace CPoint. Nakonec použijte unární operátor negovat CPoint.
Například pomocí prvního přetížení zjistíte rozdíl mezi dvěma body CPoint(25, -19) a CPoint(15, 5) vrátí CSize(10, -24).
Odečtení od CSize CPoint provede stejný výpočet jako výše, ale vrátí CPoint objekt, nikoli CSize objekt. Například pomocí druhého přetížení zjistíte rozdíl mezi bodem CPoint(25, -19) a velikostí CSize(15, 5) vrátí CPoint(10, -24).
Odečtení obdélníku POINT od vrácené obdélníku posunem zápornými x hodnotami a y hodnotami zadanými v sadě POINT. Například pomocí posledního přetížení posun obdélníku CRect(125, 200, 325, 400) bodem CPoint(25, -19) vrátí CRect(100, 219, 300, 419).
Pomocí unárního operátoru negujte .POINT Například použití unárního operátoru s bodem CPoint(25, -19) vrátí CPoint(-25, 19).
Příklad
// 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);
Viz také
MFC – ukázka MDI
Graf hierarchie
POINT Struktura
CRect Třída
CSize Třída