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 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 CSizepro .
initCY
cy Nastaví člena CSizepro .
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é, jinak 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 CSizevelikost .
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 CSizehodnoty .
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ě
CSizehodnoty.operator +(bod)
Tato operace posune (přesune) hodnotu POINT (nebo CPoint) o tuto
CSizehodnotu. Členovécxtétocyhodnoty se přidají k datovýmCSizečlenůmxhodnoty.yPOINTJe to podobné verzi CPoint::operator + , která přebírá parametr SIZE .operator +( lpRect)
Tato operace posune (přesune) hodnotu RECT (nebo CRect) o tuto
CSizehodnotu. Členovécxtétocyhodnoty se přičtou k hodnotěCSize,left,toparightdatovým členůmbottomRECT. 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ě
CSizehodnoty.– operátor -(bod)
Tato operace posune (přesune) hodnotu POINT nebo CPoint přídatnou inverzní inverzní k této
CSizehodnotě. HodnotacxacyCSizez tétoxhodnoty se odečtou odydatový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
CSizehodnotě. ČlenovécxcytétoCSizehodnoty se odečtou odlefthodnot ,top,rightabottomdatový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
CSizehodnotě.
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