Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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. Ennekcxazcyértéknek a tagjai ésCSizetagjai hozzá lesznek adva azxértékhez ésyazPOINTadattagokhoz. 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. Ennekcxaz értéknekcya tagjaitCSizea rendszer hozzáadja azleftértékhez,toprightvalamintbottomaz adattagokat.RECTEz 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. Azcxérték éscyennekCSizeaz értéknek a kivonása az érték ésxazyPOINTadattagok 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
CSizeaz értéknek az additív inverzével. Ennekcxazcyértéknek a tagjai ésCSizetagjai az érték, aleft,topésrightbottomazRECTadattagok 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
CSizeadja 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