CPoint::operator -

CPointから CPoint または CSize のオブジェクトを引くの最初の 2 種類のオーバーロードの 1 つを使用します。

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

パラメーター

戻り値

CSize 2 ポイントの違い、CPoint なポイントの否定ずれて、または CPoint オフセット サイズ、CRect の拒否によってポイントの否定である。

解説

3 番目のオーバーロードは CPointの拒否によって CRect を軽減します。最後に、CPointを拒否するには、単項演算子を使用します。

たとえば、最初のオーバーロードを使用して 2 ポイント CPoint(25, -19) と CPoint(15, 5) の違いを確認するには CSize(10, -24)を返します。

CPoint から CSize の削除には、上のと同じ数を返します CPoint のオブジェクト CSize のオブジェクトではなくします。たとえば、2 番目のオーバーロードを使用して CPoint(25, -19) 位置とサイズ CSize(15, 5) の違いを確認するには CPoint(10, -24)を返します。

ポイントから四角形の削除には、ポイントで指定された xy の値の否定で四角形のオフセットを返します。たとえば、最後のオーバーロードを使用する点 CPoint(25, -19) 四角形 CRect(125, 200, 325, 400) をオフセットすることは CRect(100, 219, 300, 419)を返します。

ポイントを拒否するには、単項演算子を使用します。たとえば、ポイントのある単項演算子を使用して CPoint(25, -19) は CPoint(-25, 19)を返します。

使用例

// example for CPoint subtraction
CPoint   ptStart(100, 100);
CSize   szOffset(35, 35);
CPoint   ptEnd;

ptEnd = ptStart - szOffset;

CPoint   ptResult(65, 65);

ASSERT(ptResult == ptEnd);

// also works on SIZE

ptStart = CPoint(100, 100);

SIZE   sz;
sz.cx = 35;
sz.cy = 35;

ptEnd = ptStart - sz;

ASSERT(ptResult == ptEnd);

// example for CPoint unary operator
CPoint   pt(35, 35);
pt = -pt;

CPoint ptNeg(-35, -35);
ASSERT(pt == ptNeg);   

必要条件

ヘッダー: atltypes.h

参照

関連項目

CPoint クラス

階層図

CPoint::operator -=

CPoint::operator +=

CPoint::operator +

CSize::operator -

CRect::operator -

CPoint::Offset

CRect::OffsetRect