次の方法で共有


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 構造体から派生しています つまり、CSize を呼び出すパラメーターに SIZE を渡すことができ、SIZE 構造体のデータ メンバーが CSize のアクセス可能なデータ メンバーであることを意味します。

cx (および cy) の SIZECSize メンバーはパブリックです。 さらに、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
cxCSize メンバーを設定します。

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

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

関連項目

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