Windows の SIZE 構造体と同様に、相対座標や位置を実装します。
構文
class CSize : public tagSIZE
メンバー
パブリック コンストラクター
| 名前 | 説明 |
|---|---|
| CSize::CSize |
CSize オブジェクトを構築します。 |
パブリック演算子
| 名前 | 説明 |
|---|---|
| CSize::operator - | 2 つのサイズを減算します。 |
| CSize::operator != |
CSize とサイズが等しくないかどうかを確認します。 |
| CSize::operator + | 2 つのサイズを追加します。 |
| CSize::operator += |
CSize にサイズを追加します。 |
| CSize::operator -= |
CSize からサイズを減算します。 |
| CSize::operator == |
CSize とサイズが等しいかどうかを確認します。 |
解説
このクラスは、SIZE 構造体から派生しています つまり、CSize を呼び出すパラメーターに SIZE を渡すことができ、SIZE 構造体のデータ メンバーが CSize のアクセス可能なデータ メンバーであることを意味します。
cx (および cy) の SIZE と CSize メンバーはパブリックです。 さらに、CSize は、SIZE 構造体を操作するメンバー関数を実装します。
注
共有ユーティリティ クラス (CSize など) の詳細については、「共有クラス」を参照してください。
継承階層
tagSIZE
CSize
要件
ヘッダー: atltypes.h
CSize::CSize
CSize オブジェクトを構築します。
CSize() throw();
CSize( int initCX, int initCY) throw();
CSize( SIZE initSize) throw();
CSize( POINT initPt) throw();
CSize( DWORD dwSize) throw();
パラメーター
initCX
cx の CSize メンバーを設定します。
initCY
cy の CSize メンバーを設定します。
initSize
の初期化に使用される CSize 構造体または CSize オブジェクト。
initPt
の初期化に使用される CPoint 構造体または CSize オブジェクト。
dwSize
CSize の初期化に使用される DWORD。 下位ワードは cx メンバー、上位ワードは cy メンバーです。
解説
引数を指定しない場合、cx および cy は 0 に初期化されます。
例
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 ==
2 つのサイズが等しいかどうかを確認します。
BOOL operator==(SIZE size) const throw();
解説
サイズが等しい場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
例
CSize sz1(135, 135);
CSize sz2(135, 135);
ASSERT(sz1 == sz2);
CSize::operator !=
2 つのサイズが等しくないかどうかを確認します。
BOOL operator!=(SIZE size) const throw();
解説
サイズが等しくない場合は 0 以外の値を返し、それ以外の場合は 0 を返します。
例
CSize sz1(222, 222);
CSize sz2(111, 111);
ASSERT(sz1 != sz2);
CSize::operator +=
この CSize にサイズを追加します。
void operator+=(SIZE size) throw();
例
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 -=
この CSize からサイズを減算します。
void operator-=(SIZE size) throw();
例
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 +
これらの演算子は、パラメーターの値にこの CSize 値を追加します。
CSize operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
解説
個々の演算子については、次の説明を参照してください。
operator +(size)
この操作では、2 つの
CSize値が追加されます。演算子 +(point)
この操作では、POINT (または CPoint) 値をこの値
CSizeでオフセット (移動) します。 このcx値のcyおよびCSizeメンバーは、x値のyおよびPOINTデータ メンバーに追加されます。 これは、SIZE パラメーターを受け取る CPoint::operator + のバージョンに類似しています。operator +(lpRect)
この操作では、RECT (または CRect) 値をこの値
CSizeでオフセット (移動) します。 このcx値のcyおよびCSizeメンバーは、left値のtop、right、bottom、およびRECTデータ メンバーに追加されます。 これは、SIZE パラメーターを受け取る CRect::operator + のバージョンに類似しています。
例
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 -
これらの演算子の最初の 3 つでは、この CSize 値をパラメーターの値に減算します。
CSize operator-(SIZE size) const throw();
CPoint operator-(POINT point) const throw();
CRect operator-(const RECT* lpRect) const throw();
CSize operator-() const throw();
解説
4 番目の演算子である単項マイナスは、CSize 値の符号を変更します。 個々の演算子については、次の説明を参照してください。
operator -(size)
この操作では、2 つの
CSize値が減算されます。operator -(point)
この操作では、POINT または CPoint 値をこの
CSize値の反数でオフセット (移動) します。 このcx値のcyおよびCSizeは、x値のyおよびPOINTデータ メンバーから減算されます。 これは、SIZE パラメーターを受け取る CPoint::operator - のバージョンに類似しています。operator -(lpRect)
この操作では、RECT または CRect 値をこの
CSize値の反数でオフセット (移動) します。 このcx値のcyおよびCSizeメンバーは、left値のtop、right、bottom、およびRECTデータ メンバーから減算されます。 これは、SIZE パラメーターを受け取る CRect::operator - のバージョンに類似しています。operator -()
この操作は、この
CSize値の反数を返します。
例
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);