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
cy
和CSize
的成員是公開的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
成員。
備註
如果未指定自變數, cx
且 cy
初始化為零。
範例
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) 值。 此值cx
CSize
的和cy
成員會新增至x
值的 和y
數據成員POINT
。 類似於採用 SIZE 參數的 CPoint::operator + 版本。operator +( lpRect )
此作業會依此值
CSize
來位移 RECT (或 CRect) 值。 此值cx
CSize
的和cy
成員會加入至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 -
這些運算子的前三個會將此值 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
。 請參閱個別運算子的下列描述:
operator -( size )
此作業會減去兩個
CSize
值。operator -( point )
此作業會依此值
CSize
的加法反向位移來位移 POINT 或 CPoint 值。 此值cx
CSize
的 和cy
會從x
值的 和y
數據成員POINT
減去。 類似於採用 SIZE 參數的 CPoint::operator 版本。operator -( lpRect )
此作業會依此值
CSize
的加法反差來位移 RECT 或 CRect 值。 這個cx
CSize
值的和cy
成員會從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);