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 CSize
verwendet wird.
initPt
POINT-Struktur oder CPoint
-Objekt, die zum Initialisieren CSize
verwendet wird.
dwSize
DWORD wird zum Initialisieren CSize
verwendet. 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 CSize
Größ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. Diecx
Elementecy
und Member diesesCSize
Werts werden denx
Elementen des Werts undy
den Datenmitgliedern desPOINT
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. Diecx
Elementecy
und Member diesesCSize
Werts werden dentop
left
Membern des Werts , ,right
undbottom
Datenmmber desRECT
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 -( Größe )
Dieser Vorgang subtrahiert zwei
CSize
Werte.Operator -( Punkt )
Mit diesem Vorgang wird ein POINT- oder CPoint-Wert durch die additive Umkehrung dieses
CSize
Werts versetzt (verschiebt). Dercx
Wert undcy
der WertCSize
werden von denx
Elementen des Werts undy
den DatenmembernPOINT
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. Diecx
Elementecy
und Member diesesCSize
Werts werden von denleft
Membern des Werts ,top
,right
undbottom
Datenmember desRECT
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