CSize-Klasse

Ähnelt der Windows-Struktur SIZE , bei der eine relative Koordinate oder Position implementiert wird

Syntax

class CSize : public tagSIZE

Member

Öffentliche Konstruktoren

Name Beschreibung
CSize::CSize Erstellt ein CSize-Objekt.

Öffentliche Operatoren

Name Beschreibung
CSize::operator - Subtrahiert zwei Größen.
CSize::operator != Sucht nach Ungleichheiten zwischen CSize und einer Größe.
CSize::operator + Fügt zwei Größen hinzu.
CSize::operator += Fügt eine Größe zu CSize.
CSize::operator -= Subtrahiert eine Größe von CSize.
CSize::operator == Überprüft die Gleichheit zwischen CSize und einer Größe.

Hinweise

Diese Klasse wird von der SIZE Struktur abgeleitet. Dies bedeutet, dass Sie einen CSize In-Parameter übergeben können, der für eine SIZE Und die Datenmember der SIZE Struktur zugängliche Datenmember sind CSize.

Die cx Mitglieder cy und Mitglieder von SIZE (und CSize) sind öffentlich. Darüber hinaus implementiert Memberfunktionen zum CSize Bearbeiten der SIZE Struktur.

Hinweis

Weitere Informationen zu freigegebenen Hilfsprogrammklassen (z CSize. B. ) finden Sie unter "Freigegebene Klassen".

Vererbungshierarchie

tagSIZE

CSize

Anforderungen

Kopfzeile: atltypes.h

CSize::CSize

Erstellt ein CSize-Objekt.

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

Parameter

initCX
Legt das cx Element für die CSize.

initCY
Legt das cy Element für die CSize.

initSize
SIZE-Struktur oder CSize -Objekt, die zum Initialisieren CSizeverwendet wird.

initPt
POINT-Struktur oder CPoint -Objekt, die zum Initialisieren CSizeverwendet wird.

dwSize
DWORD wird zum Initialisieren CSizeverwendet. Das Wort mit niedriger Reihenfolge ist das cx Element, und das Wort mit hoher Reihenfolge ist das cy Element.

Hinweise

Wenn keine Argumente angegeben cx werden und cy auf Null initialisiert werden.

Beispiel

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

Überprüft die Gleichheit zwischen zwei Größen.

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

Hinweise

Gibt nonzero zurück, wenn die Größen gleich sind, otherwize 0.

Beispiel

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

ASSERT(sz1 == sz2);

CSize::operator !=

Sucht nach Ungleichheiten zwischen zwei Größen.

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

Hinweise

Gibt "nonzero" zurück, wenn die Größen nicht gleich sind, andernfalls 0.

Beispiel

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

ASSERT(sz1 != sz2);   

CSize::operator +=

Fügt dieser CSizeGröße eine Größe hinzu.

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

Beispiel

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

Subtrahiert eine Größe von diesem CSize.

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

Beispiel

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 +

Diese Operatoren fügen diesen CSize Wert zum Wert des Parameters hinzu.

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

Hinweise

Siehe die folgenden Beschreibungen der einzelnen Operatoren:

  • Operator +(Größe)

    Dieser Vorgang fügt zwei CSize Werte hinzu.

  • Operator +(Punkt)

    Dieser Vorgang versetzt (verschiebt) einen POINT -Wert (oder CPoint) um diesen CSize Wert. Die cx Elemente cy und Member dieses CSize Werts werden den x Elementen des Werts und y den Datenmitgliedern des POINT Werts hinzugefügt. Es ist analog zur Version von CPoint::operator + , die einen SIZE-Parameter verwendet.

  • operator +(lpRect)

    Dieser Vorgang versetzt (verschiebt) einen RECT -Wert (oder CRect) um diesen CSize Wert. Die cx Elemente cy und Member dieses CSize Werts werden den topleftMembern des Werts , , rightund bottom Datenmmber des RECT Werts hinzugefügt. Es ist analog zur Version von CRect::operator + , die einen SIZE-Parameter verwendet.

Beispiel

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 -

Die ersten drei dieser Operatoren subtrahieren diesen CSize Wert auf den Wert des Parameters.

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

Hinweise

Der vierte Operator, der unäre Minuswert, ändert das Vorzeichen des CSize Werts. Siehe die folgenden Beschreibungen der einzelnen Operatoren:

  • operator -(size)

    Dieser Vorgang subtrahiert zwei CSize Werte.

  • operator -(point)

    Mit diesem Vorgang wird ein POINT- oder CPoint-Wert durch die additive Umkehrung dieses CSize Werts versetzt (verschiebt). Der cx Wert und cy der Wert CSize werden von den x Elementen des Werts und y den Datenmembern POINT subtrahiert. Es ist analog zur Version von CPoint::operator - die einen SIZE-Parameter akzeptiert.

  • operator -(lpRect)

    Dieser Vorgang versetzt (verschiebt) einen RECT - oder CRect-Wert um die additive Umkehrung dieses CSize Werts. Die cx Elemente cy und Member dieses CSize Werts werden von den leftMembern des Werts , top, rightund bottom Datenmember des RECT Werts subtrahiert. Es entspricht der Version von CRect::operator - die einen SIZE-Parameter akzeptiert.

  • operator -()

    Dieser Vorgang gibt die additive Umkehrung dieses CSize Werts zurück.

Beispiel

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

Siehe auch

MFC-Beispiel-MDI
Hierarchiediagramm
CRect-Klasse
CPoint-Klasse