CSize – třída
Podobá se struktuře Windows SIZE , která implementuje relativní souřadnici nebo pozici.
Syntaxe
class CSize : public tagSIZE
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CSize::CSize | CSize Vytvoří objekt. |
Veřejné operátory
Název | Popis |
---|---|
CSize::operator – | Odečte dvě velikosti. |
CSize::operator != | Kontroluje nerovnost mezi CSize a velikostí. |
CSize::operator + | Přidá dvě velikosti. |
CSize::operator += | Přidá velikost do CSize . |
CSize::operator -= | Odečte velikost od CSize . |
CSize::operator == | Kontroluje rovnost mezi CSize velikostí a velikostí. |
Poznámky
Tato třída je odvozena ze SIZE
struktury. To znamená, že můžete předat CSize
parametr, který volá SIZE
a že datové členy SIZE
struktury jsou přístupné datové členy CSize
.
Členové cx
a cy
členové SIZE
(a CSize
) jsou veřejné. Kromě toho CSize
implementuje členské funkce pro manipulaci se strukturou SIZE
.
Poznámka:
Další informace o sdílených třídách nástrojů (například CSize
) naleznete v tématu Sdílené třídy.
Hierarchie dědičnosti
tagSIZE
CSize
Požadavky
Hlavička: atltypes.h
CSize::CSize
CSize
Vytvoří objekt.
CSize() throw();
CSize( int initCX, int initCY) throw();
CSize( SIZE initSize) throw();
CSize( POINT initPt) throw();
CSize( DWORD dwSize) throw();
Parametry
initCX
cx
Nastaví člena CSize
pro .
initCY
cy
Nastaví člena CSize
pro .
initSize
STRUKTURA SIZE nebo CSize
objekt použitý k inicializaci CSize
.
initPt
Struktura point nebo CPoint
objekt použitý k inicializaci CSize
.
dwSize
DWORD použitý k inicializaci CSize
. Slovo s nízkým pořadím cx
je člen a slovo s vysokým pořadím cy
je členem.
Poznámky
Pokud nejsou zadané cx
žádné argumenty a cy
inicializují se na nulu.
Příklad
CSize szEmpty;
CSize szPointA(10, 25);
SIZE sz;
sz.cx = 10;
sz.cy = 25;
CSize szPointB(sz);
POINT pt;
pt.x = 10;
pt.y = 25;
CSize szPointC(pt);
CPoint ptObject(10, 25);
CSize szPointD(ptObject);
DWORD dw = MAKELONG(10, 25);
CSize szPointE(dw);
ASSERT(szPointA == szPointB);
ASSERT(szPointB == szPointC);
ASSERT(szPointC == szPointD);
ASSERT(szPointD == szPointE);
CSize::operator ==
Kontroluje rovnost mezi dvěma velikostmi.
BOOL operator==(SIZE size) const throw();
Poznámky
Vrátí nenulové hodnoty, pokud jsou velikosti stejné, jiné hodnoty 0.
Příklad
CSize sz1(135, 135);
CSize sz2(135, 135);
ASSERT(sz1 == sz2);
CSize::operator !=
Kontroluje nerovnost mezi dvěma velikostmi.
BOOL operator!=(SIZE size) const throw();
Poznámky
Vrátí nenulové hodnoty, pokud se velikosti nerovnají, jinak 0.
Příklad
CSize sz1(222, 222);
CSize sz2(111, 111);
ASSERT(sz1 != sz2);
CSize::operator +=
Přidá k tomu CSize
velikost .
void operator+=(SIZE size) throw();
Příklad
CSize sz1(100, 100);
CSize sz2(50, 25);
sz1 += sz2;
CSize szResult(150, 125);
ASSERT(sz1 == szResult);
// works with SIZE, too
sz1 = CSize(100, 100);
SIZE sz3;
sz3.cx = 50;
sz3.cy = 25;
sz1 += sz3;
ASSERT(sz1 == szResult);
CSize::operator -=
Odečte velikost od této CSize
hodnoty .
void operator-=(SIZE size) throw();
Příklad
CSize sz1(100, 100);
CSize sz2(50, 25);
sz1 -= sz2;
CSize szResult(50, 75);
ASSERT(sz1 == szResult);
// works with SIZE, too
sz1 = CSize(100, 100);
SIZE sz3;
sz3.cx = 50;
sz3.cy = 25;
sz1 -= sz3;
ASSERT(sz1 == szResult);
CSize::operator +
Tyto operátory přidají tuto CSize
hodnotu k hodnotě parametru.
CSize operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
Poznámky
Projděte si následující popisy jednotlivých operátorů:
operator +( size )
Tato operace přidá dvě
CSize
hodnoty.operator +( bod )
Tato operace posune (přesune) hodnotu POINT (nebo CPoint) o tuto
CSize
hodnotu. Členovécx
tétoCSize
hodnoty se přidají k datovýmx
členůmPOINT
hodnoty.y
cy
Je to podobné verzi CPoint::operator + , která přebírá parametr SIZE .operator +( lpRect )
Tato operace posune (přesune) hodnotu RECT (nebo CRect) o tuto
CSize
hodnotu. Členovécx
tétoCSize
hodnoty se přičtou k hodnotěleft
,top
,right
abottom
datovým členůmRECT
cy
. Je to podobné verzi CRect::operator + , která přebírá parametr SIZE .
Příklad
CSize sz1(100, 100);
CSize sz2(50, 25);
CSize szOut;
szOut = sz1 + sz2;
CSize szResult(150, 125);
ASSERT(szOut == szResult);
// works with SIZE, too
sz1 = CSize(100, 100);
SIZE sz3;
sz3.cx = 50;
sz3.cy = 25;
szOut = sz1 + sz3;
ASSERT(szOut == szResult);
CSize::operator –
První tři z těchto operátorů odečtou tuto CSize
hodnotu na hodnotu parametru.
CSize operator-(SIZE size) const throw();
CPoint operator-(POINT point) const throw();
CRect operator-(const RECT* lpRect) const throw();
CSize operator-() const throw();
Poznámky
Čtvrtý operátor, unární minus, změní znaménko CSize
hodnoty. Projděte si následující popisy jednotlivých operátorů:
– operátor -( velikost )
Tato operace odečte dvě
CSize
hodnoty.– operátor -( bod )
Tato operace posune (přesune) hodnotu POINT nebo CPoint přídatnou inverzní inverzní k této
CSize
hodnotě. Hodnotacx
acy
y
z tétoCSize
hodnoty se odečtou odx
datovýchPOINT
členů hodnoty. Je to analogické s verzí CPoint::operator , která přebírá parametr SIZE .– operátor -( lpRect )
Tato operace posune (přesune) hodnotu RECT nebo CRect inverzní inverzní k této
CSize
hodnotě. Členovécx
cy
tétoCSize
hodnoty se odečtou odleft
hodnot ,top
,right
abottom
datovýchRECT
členů hodnoty. Podobá se verzi CRect::operator , která přebírá parametr SIZE .– operátor -()
Tato operace vrátí inverzní funkci k této
CSize
hodnotě.
Příklad
CSize sz1(100, 100);
CSize sz2(50, 25);
CSize szOut;
szOut = sz1 - sz2;
CSize szResult(50, 75);
ASSERT(szOut == szResult);
// works with SIZE, too
sz1 = CSize(100, 100);
SIZE sz3;
sz3.cx = 50;
sz3.cy = 25;
szOut = sz1 - sz3;
ASSERT(szOut == szResult);
Viz také
MFC – ukázka MDI
Graf hierarchie
CRect – třída
CPoint – třída