CSize クラス
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
構造体から派生しています つまり、SIZE
を呼び出すパラメーターに CSize
を渡すことができ、SIZE
構造体のデータ メンバーが CSize
のアクセス可能なデータ メンバーであることを意味します。
SIZE
(および CSize
) の cx
と cy
メンバーはパブリックです。 さらに、CSize
は、SIZE
構造体を操作するメンバー関数を実装します。
Note
共有ユーティリティ クラス (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
CSize
の cx
メンバーを設定します。
initCY
CSize
の cy
メンバーを設定します。
initSize
CSize
の初期化に使用される SIZE 構造体または CSize
オブジェクト。
initPt
CSize
の初期化に使用される POINT 構造体または CPoint
オブジェクト。
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
値が追加されます。operator +( point )
この操作では、POINT (または CPoint) 値をこの値
CSize
でオフセット (移動) します。 このCSize
値のcx
およびcy
メンバーは、POINT
値のx
およびy
データ メンバーに追加されます。 これは、SIZE パラメーターを受け取る CPoint::operator + のバージョンに類似しています。operator +( lpRect )
この操作では、RECT (または CRect) 値をこの値
CSize
でオフセット (移動) します。 このCSize
値のcx
およびcy
メンバーは、RECT
値のleft
、top
、right
、およびbottom
データ メンバーに追加されます。 これは、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
値の反数でオフセット (移動) します。 このCSize
値のcx
およびcy
は、POINT
値のx
およびy
データ メンバーから減算されます。 これは、SIZE パラメーターを受け取る CPoint::operator - のバージョンに類似しています。operator -( lpRect )
この操作では、RECT または CRect 値をこの
CSize
値の反数でオフセット (移動) します。 このCSize
値のcx
およびcy
メンバーは、RECT
値のleft
、top
、right
、およびbottom
データ メンバーから減算されます。 これは、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);