Bagikan melalui


Kelas CSize

Mirip dengan struktur Windows SIZE , yang mengimplementasikan koordinat atau posisi relatif.

Sintaks

class CSize : public tagSIZE

Anggota

Konstruktor Publik

Nama Deskripsi
CSize::CSize Membuat CSize objek.

Operator Publik

Nama Deskripsi
CSize::operator - Mengurangi dua ukuran.
CSize::operator != Memeriksa ketidaksamaan antara CSize dan ukuran.
CSize::operator + Menambahkan dua ukuran.
CSize::operator += Menambahkan ukuran ke CSize.
CSize::operator -= Mengurangi ukuran dari CSize.
CSize::operator == Memeriksa kesetaraan antara CSize dan ukuran.

Keterangan

Kelas ini berasal dari SIZE struktur. Ini berarti Anda dapat meneruskan CSize dalam parameter yang memanggil SIZE dan bahwa anggota data struktur SIZE adalah anggota data yang dapat diakses dari CSize.

Anggota cx dan cySIZE (dan CSize) bersifat publik. Selain itu, CSize menerapkan fungsi anggota untuk memanipulasi SIZE struktur.

Catatan

Untuk informasi selengkapnya tentang kelas utilitas bersama (seperti CSize), lihat Kelas Bersama.

Hierarki Warisan

tagSIZE

CSize

Persyaratan

Header: atltypes.h

CSize::CSize

Membuat CSize objek.

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

Parameter

initCX
cx Mengatur anggota untuk CSize.

initCY
cy Mengatur anggota untuk CSize.

initSize
Struktur ukuran atau CSize objek yang digunakan untuk menginisialisasi CSize.

initPt
Struktur atau objek POINT yang digunakan untuk menginisialisasi CPoint.CSize

dwSize
DWORD digunakan untuk menginisialisasi CSize. Kata urutan rendah adalah cx anggota dan kata urutan tinggi adalah cy anggota.

Keterangan

Jika tidak ada argumen yang diberikan, cx dan cy diinisialisasi ke nol.

Contoh

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

Memeriksa kesetaraan antara dua ukuran.

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

Keterangan

Mengembalikan nonzero jika ukurannya sama, jika tidak, 0.

Contoh

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

ASSERT(sz1 == sz2);

CSize::operator !=

Memeriksa ketidaksamaan antara dua ukuran.

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

Keterangan

Mengembalikan nonzero jika ukurannya tidak sama, jika tidak, 0.

Contoh

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

ASSERT(sz1 != sz2);   

CSize::operator +=

Menambahkan ukuran ke ini CSize.

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

Contoh

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

Mengurangi ukuran dari ini CSize.

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

Contoh

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 +

Operator ini menambahkan nilai ini CSize ke nilai parameter.

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

Keterangan

Lihat deskripsi operator individual berikut:

  • operator +(ukuran)

    Operasi ini menambahkan dua CSize nilai.

  • operator +(titik)

    Operasi ini mengimbangi (memindahkan) nilai POINT (atau CPoint) dengan nilai ini CSize . Anggota cx dan cy dari nilai ini CSize ditambahkan ke x anggota data dan y dari POINT nilai . Ini dianalogikan dengan versi CPoint::operator + yang mengambil parameter SIZE .

  • operator +(lpRect)

    Operasi ini mengimbangi (memindahkan) nilai RECT (atau CRect) menurut nilai ini CSize . Anggota cx dan cy dari nilai ini CSize ditambahkan ke left, , topright, dan bottom anggota data dari RECT nilai . Ini dianalogikan dengan versi CRect::operator + yang mengambil parameter SIZE .

Contoh

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 -

Tiga operator pertama ini mengurangi nilai ini CSize ke nilai parameter.

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

Keterangan

Operator keempat, unary minus, mengubah tanda CSize nilai. Lihat deskripsi operator individual berikut:

  • operator -(size)

    Operasi ini mengurangi dua CSize nilai.

  • operator -(point)

    Operasi ini mengimbangi (memindahkan) nilai POINT atau CPoint dengan inversi aditif dari nilai ini CSize . Dan cxcy dari nilai ini CSize dikurangi dari x anggota data dan y dari POINT nilai. Ini dianalogikan dengan versi CPoint::operator - yang mengambil parameter SIZE .

  • operator -(lpRect)

    Operasi ini mengimbangi (memindahkan) nilai RECT atau CRect dengan inversi aditif dari nilai ini CSize . Anggota cx dan cy dari nilai ini CSize dikurangi dari left, , topright, dan bottom anggota data dari RECT nilai . Ini dianalogikan dengan versi CRect::operator - yang mengambil parameter SIZE .

  • operator -()

    Operasi ini mengembalikan inversi aditif dari nilai ini CSize .

Contoh

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

Lihat juga

MFC Sampel MDI
Bagan Hierarki
Kelas CRect
Kelas CPoint