Classe CSize

Simile alla struttura SIZE di Windows, che implementa una coordinata o una posizione relativa.

Sintassi

class CSize : public tagSIZE

Membri

Costruttori pubblici

Nome Descrizione
CSize::CSize Costruisce un oggetto CSize.

Operatori pubblici

Nome Descrizione
CSize::operator - Sottrae due dimensioni.
CSize::operator != Verifica la disuguaglianza tra CSize e una dimensione.
CSize::operator + Aggiunge due dimensioni.
CSize::operator += Aggiunge una dimensione a CSize.
CSize::operator -= Sottrae una dimensione da CSize.
CSize::operator == Verifica l'uguaglianza tra CSize e una dimensione.

Osservazioni:

Questa classe è derivata dalla SIZE struttura . Ciò significa che è possibile passare un oggetto CSize in un parametro che chiama un SIZE oggetto e che i membri dati della SIZE struttura sono membri dati accessibili di CSize.

I cx membri e cy di SIZE (e CSize) sono pubblici. Implementa inoltre CSize funzioni membro per modificare la SIZE struttura.

Nota

Per altre informazioni sulle classi di utilità condivise (ad esempio CSize), vedere Classi condivise.

Gerarchia di ereditarietà

tagSIZE

CSize

Requisiti

Intestazione: atltypes.h

CSize::CSize

Costruisce un oggetto CSize.

CSize() throw();
CSize( int initCX, int initCY) throw();
CSize( SIZE initSize) throw();
CSize( POINT initPt) throw();
CSize( DWORD dwSize) throw();

Parametri

initCX
Imposta il cx membro per l'oggetto CSize.

initCY
Imposta il cy membro per l'oggetto CSize.

initSize
Struttura SIZE o CSize oggetto utilizzato per inizializzare CSize.

initPt
Struttura POINT o CPoint oggetto utilizzato per inizializzare CSize.

dwSize
DWORD usato per inizializzare CSize. La parola in ordine basso è il cx membro e la parola dell'ordine elevato è il cy membro.

Osservazioni:

Se non vengono specificati cx argomenti e cy vengono inizializzati su zero.

Esempio

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

Verifica l'uguaglianza tra due dimensioni.

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

Osservazioni:

Restituisce un valore diverso da zero se le dimensioni sono uguali, otherwize 0.

Esempio

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

ASSERT(sz1 == sz2);

CSize::operator !=

Verifica la disuguaglianza tra due dimensioni.

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

Osservazioni:

Restituisce un valore diverso da zero se le dimensioni non sono uguali, in caso contrario 0.

Esempio

CSize sz1(222, 222);
CSize sz2(111, 111);

ASSERT(sz1 != sz2);   

CSize::operator +=

Aggiunge una dimensione all'oggetto CSize.

void operator+=(SIZE size) throw();

Esempio

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

Sottrae una dimensione da questo CSizeoggetto .

void operator-=(SIZE size) throw();

Esempio

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 +

Questi operatori aggiungono questo CSize valore al valore del parametro .

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

Osservazioni:

Vedere le descrizioni seguenti dei singoli operatori:

  • operator +( size )

    Questa operazione aggiunge due CSize valori.

  • operator +( point )

    Questa operazione scosta (sposta) un valore POINT (o CPoint) in base a questo CSize valore. I cx membri e cy di questo CSize valore vengono aggiunti ai x membri dati e y del POINT valore . È analogo alla versione di CPoint::operator + che accetta un parametro SIZE .

  • operator +( lpRect )

    Questa operazione scosta (sposta) un valore RECT (o CRect) in base a questo CSize valore. I cx membri e cy di questo CSize valore vengono aggiunti ai leftmembri dati , righttop, e bottom del RECT valore . È analogo alla versione di CRect::operator + che accetta un parametro SIZE .

Esempio

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 -

I primi tre di questi operatori sottraggono questo CSize valore al valore del parametro .

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

Osservazioni:

Il quarto operatore, l'unario meno, modifica il segno del CSize valore. Vedere le descrizioni seguenti dei singoli operatori:

  • operator -( size )

    Questa operazione sottrae due CSize valori.

  • operator -( point )

    Questa operazione scosta (sposta) un valore POINT o CPoint in base all'inverso aggiuntivo di questo CSize valore. E cx di questo CSize valore vengono sottratti dai x membri dati e cy y del POINT valore . È analogo alla versione di CPoint::operator , che accetta un parametro SIZE .

  • operator -( lpRect )

    Questa operazione scosta (sposta) un valore RECT o CRect in base all'inverso aggiuntivo di questo CSize valore. I cx membri e cy di questo CSize valore vengono sottratti dai leftmembri dati , top, righte bottom del RECT valore . È analogo alla versione di CRect::operator , che accetta un parametro SIZE .

  • operator -()

    Questa operazione restituisce l'inverso aggiuntivo di questo CSize valore.

Esempio

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);   

Vedi anche

MDI di esempio MFC
Grafico della gerarchia
Classe CRect
Classe CPoint