Megosztás:


CSize osztály

Hasonló a Windows SIZE struktúrához, amely relatív koordinátát vagy pozíciót implementál.

Szemantika

class CSize : public tagSIZE

Tagok

Nyilvános konstruktorok

Név Leírás
CSize::CSize Egy CSize objektumot hoz létre.

Nyilvános operátorok

Név Leírás
CSize::operátor – Két méret kivonása.
CSize::operátor != A méret és a méret közötti CSize egyenlőtlenség ellenőrzése.
CSize::operátor + Két méretet ad hozzá.
CSize::operátor += Méretet ad hozzá a fájlhoz CSize.
CSize::operátor –= Méret kivonása a méretből CSize.
CSize::operátor == Ellenőrzi a kettő és a méret közötti CSize egyenlőséget.

Megjegyzések

Ez az osztály a SIZE szerkezetből származik. Ez azt jelenti, hogy egy olyan paramétert adhat átCSize, amely egy adott paramétert SIZE hív meg, és hogy a SIZE struktúra adattagjainak akadálymentes adattagja.CSize

A cx (és cySIZE) tagok CSize nyilvánosak. Emellett CSize tagfüggvényeket is implementál a SIZE struktúra manipulálásához.

Megjegyzés:

A megosztott használati osztályokról (például CSize) további információt a Megosztott osztályok című témakörben talál.

Öröklési hierarchia

tagSIZE

CSize

Követelmények

Fejléc: atltypes.h

CSize::CSize

Egy CSize objektumot hoz létre.

CSize() throw();
CSize( int initCX, int initCY) throw();
CSize( SIZE initSize) throw();
CSize( POINT initPt) throw();
CSize( DWORD dwSize) throw();

Paraméterek

initCX
Beállítja a cx tagot a CSize.

initCY
Beállítja a cy tagot a CSize.

initSize
SIZE struktúra vagy CSize az inicializáláshoz CSizehasznált objektum.

initPt
AZ inicializáláshoz CPointhasznált POINT-struktúra vagy CSize objektum.

dwSize
Az inicializáláshoz CSizehasznált DWORD. Az alacsonyrendű szó a cx tag, a felsőrendű szó pedig a cy tag.

Megjegyzések

Ha nem ad meg argumentumokat, cx és cy nullára inicializálódik.

példa

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::operátor ==

Két méret közötti egyenlőség ellenőrzése.

BOOL operator==(SIZE size) const throw();

Megjegyzések

Nonzero értéket ad vissza, ha a méretek egyenlőek, ellenkező esetben 0.

példa

CSize sz1(135, 135);
CSize sz2(135, 135);

ASSERT(sz1 == sz2);

CSize::operátor !=

Két méret közötti egyenlőtlenség ellenőrzése.

BOOL operator!=(SIZE size) const throw();

Megjegyzések

Nonzero értéket ad vissza, ha a méretek nem egyenlőek, ellenkező esetben 0.

példa

CSize sz1(222, 222);
CSize sz2(111, 111);

ASSERT(sz1 != sz2);   

CSize::operátor +=

Hozzáad egy méretet ehhez CSizea művelethez.

void operator+=(SIZE size) throw();

példa

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::operátor –=

Méret kivonása ebből CSizea méretből.

void operator-=(SIZE size) throw();

példa

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::operátor +

Ezek az operátorok hozzáadják ezt az CSize értéket a paraméter értékéhez.

CSize operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();

Megjegyzések

Tekintse meg az egyes operátorok alábbi leírását:

  • operátor +(méret)

    Ez a művelet két CSize értéket ad hozzá.

  • operátor +(pont)

    Ez a művelet eltolása (áthelyezése) egy PONT (vagy CPoint) értéket ezzel az CSize értékkel. Ennek cx az cy értéknek a tagjai és CSize tagjai hozzá lesznek adva az x értékhez és y az POINT adattagokhoz. Ez hasonló a CPoint::operátor + verziójához, amely egy SIZE paramétert vesz igénybe.

  • operátor +(lpRect)

    Ez a művelet eltolt (áthelyez) egy RECT (vagy CRect) értéket ezzel az CSize értékkel. Ennek cx az értéknek cy a tagjait CSize a rendszer hozzáadja az leftértékhez, toprightvalamint bottom az adattagokat.RECT Ez hasonló a CRect::operátor + verziójához, amely egy SIZE paramétert vesz igénybe.

példa

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::operátor –

Az operátorok első háromja kivonja ezt az CSize értéket a paraméter értékéből.

CSize operator-(SIZE size) const throw();
CPoint operator-(POINT point) const throw();
CRect operator-(const RECT* lpRect) const throw();
CSize operator-() const throw();

Megjegyzések

A negyedik operátor, a unary mínusz megváltoztatja az érték jelét CSize . Tekintse meg az egyes operátorok alábbi leírását:

  • operátor –(méret)

    Ez a művelet két CSize értéket von ki.

  • operátor -(pont)

    Ez a művelet az érték additív inverzével eltűri (áthelyezi) a POINT- vagy CSize. Az cx érték és cy ennek CSize az értéknek a kivonása az érték és x az yPOINT adattagok között lesz. Ez hasonló a CPoint::operátor verziójához, amely egy SIZE paramétert vesz igénybe.

  • operátor –(lpRect)

    Ez a művelet eltolást (mozgat) egy RECT - vagy CRect-értéket ennek CSize az értéknek az additív inverzével. Ennek cx az cy értéknek a tagjai és CSize tagjai az érték, a left, topés rightbottom az RECT adattagok közül lesznek kivonva. Ez hasonló a CRect::operátor verziójához, amely egy SIZE paramétert vesz igénybe.

  • operátor –()

    Ez a művelet ennek az értéknek az additív inverzét CSize adja vissza.

példa

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);   

Lásd még

MFC-minta MDI
hierarchiadiagram
CRect osztály
CPoint-osztály