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) の cxcy メンバーはパブリックです。 さらに、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
CSizecx メンバーを設定します。

initCY
CSizecy メンバーを設定します。

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 値の lefttopright、および 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 値の lefttopright、および 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);   

関連項目

MFC サンプル MDI
階層図
CRect クラス
CPoint クラス