CPoint::operator -
Utilizzare uno dei primi due overload per ridurre un oggetto CSize o CPoint da CPoint.
CSize operator -(
POINT point
) const throw( );
CPoint operator -(
SIZE size
) const throw( );
CRect operator -(
const RECT* lpRect
) const throw( );
CPoint operator -( ) const throw( );
Parametri
size
Una struttura DIMENSIONE o un oggetto CSize.lpRect
Un puntatore a una struttura RECT o a un oggetto CRect.
Valore restituito
CSize la differenza tra due punti, CPoint che è compensata dalla negazione di dimensioni, CRect che è compensata dalla negazione di un punto, o CPoint la negazione di un punto.
Note
Il terzo overload compensa CRect dalla negazione CPoint.Infine, utilizzare l'operatore unario per negare CPoint.
Ad esempio, utilizzando il primo overload per trovare la differenza tra due punti CPoint(25, -19) e CPoint(15, 5) restituisce CSize(10, -24).
Sottraendo CSize da CPoint lo stesso calcolo a ma restituisce un oggetto CPoint, non un oggetto CSize.Ad esempio, utilizzando il secondo overload per trovare la differenza tra il punto CPoint(25, -19) e la dimensione CSize(15, 5) restituisce CPoint(10, -24).
Sottraendo un rettangolo da un punto restituisce l'offset del rettangolo dai segni negativi dei valori y e x specificati nel punto.Ad esempio, l'utilizzo dell'ultimo overload per compensare il rettangolo CRect(125, 200, 325, 400) dal punto CPoint(25, -19) restituisce CRect(100, 219, 300, 419).
Utilizzare l'operatore unario per negare un punto.Ad esempio, utilizzando l'operatore unario con il punto CPoint(25, -19) restituisce CPoint(-25, 19).
Esempio
// 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);
Requisiti
Header: atltypes.h