CSize-klass

Liknar Windows SIZE-strukturen , som implementerar en relativ koordinat eller position.

Syntax

class CSize : public tagSIZE

Medlemmar

Offentliga konstruktorer

Namn Beskrivning
CSize::CSize Konstruerar ett CSize objekt.

Offentliga operatörer

Namn Beskrivning
CSize::operator - Subtraherar två storlekar.
CSize::operator != Söker efter olikheter mellan CSize och en storlek.
CSize::operator + Lägger till två storlekar.
CSize::operator += Lägger till en storlek i CSize.
CSize::operator -= Subtraherar en storlek från CSize.
CSize::operator == Söker efter likhet mellan CSize och en storlek.

Anmärkningar

Den här klassen härleds från SIZE strukturen. Det innebär att du kan skicka en CSize i en parameter som anropar för en SIZE och att datamedlemmarna i SIZE strukturen är tillgängliga datamedlemmar CSizei .

Och cxcy medlemmar i SIZE (och CSize) är offentliga. Dessutom CSize implementerar medlemsfunktioner för att manipulera SIZE strukturen.

Anmärkning

Mer information om delade verktygsklasser (t.ex CSize. ) finns i Delade klasser.

Arvshierarki

tagSIZE

CSize

Kravspecifikation

Rubrik: atltypes.h

CSize::CSize

Konstruerar ett CSize objekt.

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

Parameterar

initCX
cx Anger medlemmen för CSize.

initCY
cy Anger medlemmen för CSize.

initSize
SIZE-struktur eller CSize objekt som används för att initiera CSize.

initPt
PUNKTstruktur eller CPoint objekt som används för att initiera CSize.

dwSize
DWORD som används för att initiera CSize. Lågordningsordet cx är medlemmen och högordningsordet cy är medlemmen.

Anmärkningar

Om inga argument anges cx och cy initieras till noll.

Exempel

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 ==

Söker efter likhet mellan två storlekar.

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

Anmärkningar

Returnerar nonzero om storlekarna är lika, annars 0.

Exempel

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

ASSERT(sz1 == sz2);

CSize::operator !=

Söker efter olikhet mellan två storlekar.

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

Anmärkningar

Returnerar nonzero om storlekarna inte är lika med, annars 0.

Exempel

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

ASSERT(sz1 != sz2);   

CSize::operator +=

Lägger till en storlek i den här CSize.

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

Exempel

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 -=

Subtraherar en storlek från den här CSize.

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

Exempel

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 +

Dessa operatorer lägger till det här CSize värdet i värdet för parametern.

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

Anmärkningar

Se följande beskrivningar av de enskilda operatorerna:

  • operator +(size)

    Den här åtgärden lägger till två CSize värden.

  • operator +(point)

    Den här åtgärden förskjuter (flyttar) ett POINT-värde (eller CPoint) med det här CSize värdet. Och cxcy medlemmar i det här CSize värdet läggs till i xy och datamedlemmar i POINT värdet. Det är analogt med den version av CPoint::operator + som tar en SIZE-parameter .

  • operator +(lpRect)

    Den här åtgärden förskjuter (flyttar) ett RECT-värde (eller CRect) med det här CSize värdet. Och cxcy medlemmar i det här CSize värdet läggs till i lefttop, , rightoch bottom datamedlemmar i RECT värdet. Det motsvarar den version av CRect::operator + som tar en SIZE-parameter .

Exempel

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 -

De tre första operatorerna subtraherar det här CSize värdet till värdet för parametern.

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

Anmärkningar

Den fjärde operatorn, det unary minus, ändrar värdets CSize tecken. Se följande beskrivningar av de enskilda operatorerna:

  • operatorn -(size)

    Den här åtgärden subtraherar två CSize värden.

  • operatorn -(point)

    Den här åtgärden förskjuter (flyttar) ett POINT - eller CPoint-värde med additiv invertering av det här CSize värdet. Och cxcy för det här CSize värdet subtraheras från xy och datamedlemmar i POINT värdet. Det är analogt med versionen av CPoint::operator – som tar en SIZE-parameter .

  • operator -(lpRect)

    Den här åtgärden förskjuter (flyttar) ett RECT - eller CRect-värde med additiv invertering av det här CSize värdet. Medlemmarna cx och cy i det här CSize värdet subtraheras från lefttop, , rightoch bottom datamedlemmar i RECT värdet. Det är analogt med versionen av CRect::operator – som tar en SIZE-parameter .

  • operatorn -()

    Den här åtgärden returnerar den additiva inverteringen av det här CSize värdet.

Exempel

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

Se även

MFC Sample MDI
hierarkidiagram
CRect-klass
CPoint-klass