Sdílet prostřednictvím


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 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é, 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 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ě CSize hodnoty.

  • operator +( bod )

    Tato operace posune (přesune) hodnotu POINT (nebo CPoint) o tuto CSize hodnotu. Členové cx této CSize hodnoty se přidají k datovým x členům POINT 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éto CSize hodnoty se přičtou k hodnotě left, top, righta bottom datovým členům RECT 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ě. Hodnota cx a cy y z této CSize hodnoty se odečtou od x datových POINT č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éto CSize hodnoty se odečtou od lefthodnot , top, righta bottom datových RECT č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