共用方式為


CSize 類別

類似於實作相對座標或位置的 Windows SIZE 結構。

語法

class CSize : public tagSIZE

成員

公用建構函式

名稱 描述
CSize::CSize 建構 CSize 物件。

公用運算子

名稱 描述
CSize::operator - 減去兩個大小。
CSize::operator != 檢查與 大小之間的 CSize 不相等。
CSize::operator + 新增兩個大小。
CSize::operator += 將大小新增至 CSize
CSize::operator -= 從減去大小 CSize
CSize::operator == 檢查與 大小是否 CSize 相等。

備註

這個類別衍生自 SIZE 結構。 這表示您可以在呼叫 SIZE 的參數中傳遞 CSize ,而且 結構的數據成員SIZE是的可存取數據成員CSize

cx cyCSize的成員是公開的SIZE。 此外, 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的 SIZE 結構或CSize物件。

initPt
用來初始化CSize的POINT結構或CPoint物件。

dwSize
用來初始化 CSize的 DWORD。 低序字是 cx 成員,而高階字則為 cy 成員。

備註

如果未指定自變數, cxcy 初始化為零。

範例

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 ==

檢查兩個大小之間的相等。

BOOL operator==(SIZE size) const throw();

備註

如果大小相等,則傳回非零,其他大小為 0。

範例

CSize sz1(135, 135);
CSize sz2(135, 135);

ASSERT(sz1 == sz2);

CSize::operator !=

檢查兩個大小之間的不相等。

BOOL operator!=(SIZE size) const throw();

備註

如果大小不相等,則傳回非零,否則傳回 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();

備註

請參閱個別運算子的下列描述:

  • 運算子 +( 大小

    此作業會新增兩個 CSize 值。

  • operator +( point

    此作業會依此值CSize位移 (移動) POINT (或 CPoint) 值。 此值cxCSize的和 cy 成員會新增至 x 值的 和 y 數據成員POINT。 類似於採用 SIZE 參數的 CPoint::operator + 版本。

  • operator +( lpRect

    此作業會依此值CSize來位移 RECT (或 CRect) 值。 此值cxCSize的和 cy 成員會加入至left值的、 topright、 和資料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 -

這些運算子的前三個會將此值 CSize 減去參數的值。

CSize operator-(SIZE size) const throw();
CPoint operator-(POINT point) const throw();
CRect operator-(const RECT* lpRect) const throw();
CSize operator-() const throw();

備註

第四個運算符一元減號會變更值的正負號 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 類別