Bagikan melalui


CPoint Kelas

Mirip dengan struktur Windows POINT .

Sintaks

class CPoint : public tagPOINT

Anggota

Konstruktor Publik

Nama Deskripsi
CPoint::CPoint Membangun sebuah CPoint.

Metode Publik

Nama Deskripsi
CPoint::Offset Menambahkan nilai ke x anggota dan y dari CPoint.

Operator Publik

Nama Deskripsi
CPoint::operator - Mengembalikan perbedaan CPoint dan SIZE, atau negasi POINT, atau CSize perbedaan antara dua POINTs, atau offset dengan negatif SIZE.
CPoint::operator != Memeriksa ketidaksamaan antara dua POINTs.
CPoint::operator + Mengembalikan jumlah CPoint dan atau SIZE POINT, atau CRect offset oleh SIZE.
CPoint::operator += Offset CPoint dengan menambahkan SIZE atau POINT.
CPoint::operator -= Offset CPoint dengan mengurangi SIZE atau POINT.
CPoint::operator == Memeriksa kesetaraan antara dua POINTs.

Keterangan

Ini juga termasuk fungsi anggota untuk memanipulasi CPoint dan POINT struktur.

Objek CPoint dapat digunakan di mana pun POINT struktur digunakan. Operator kelas ini yang berinteraksi dengan SIZE menerima objek CSize atau SIZE struktur, karena keduanya dapat dipertukarkan.

Catatan

Kelas ini berasal dari tagPOINT struktur. (Nama tagPOINT adalah nama yang kurang umum digunakan untuk POINT struktur.) Ini berarti bahwa anggota data struktur POINT , x dan y, adalah anggota data yang dapat diakses dari CPoint.

Catatan

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

Hierarki Warisan

tagPOINT

CPoint

Persyaratan

Header: atltypes.h

CPoint::CPoint

Membuat CPoint objek.

CPoint() throw();
CPoint(int initX, int initY) throw();
CPoint(POINT initPt) throw();
CPoint(SIZE initSize) throw();
CPoint(LPARAM dwPoint) throw();

Parameter

initX
Menentukan nilai anggota x .CPoint

initY
Menentukan nilai anggota y .CPoint

initPt
POINT atau CPoint yang menentukan nilai yang digunakan untuk menginisialisasi CPoint.

initSize
SIZE atau CSize yang menentukan nilai yang digunakan untuk menginisialisasi CPoint.

dwPoint
x Mengatur anggota ke kata dwPoint urutan rendah dan y anggota ke kata urutan tinggi dari dwPoint.

Keterangan

Jika tidak ada argumen yang diberikan, x dan y anggota diatur ke 0.

Contoh

CPoint   ptTopLeft(0, 0);
// works from a POINT, too

POINT   ptHere;
ptHere.x = 35;
ptHere.y = 95;

CPoint   ptMFCHere(ptHere);

// works from a SIZE
SIZE   sHowBig;
sHowBig.cx = 300;
sHowBig.cy = 10;

CPoint ptMFCBig(sHowBig);
// or from a DWORD

DWORD   dwSize;
dwSize = MAKELONG(35, 95);

CPoint ptFromDouble(dwSize);
ASSERT(ptFromDouble == ptMFCHere);

CPoint::Offset

Menambahkan nilai ke x anggota dan y dari CPoint.

void Offset(int xOffset, int yOffset) throw();
void Offset(POINT point) throw();
void Offset(SIZE size) throw();

Parameter

xOffset
Menentukan jumlah untuk mengimbangi x anggota CPoint.

yOffset
Menentukan jumlah untuk mengimbangi y anggota CPoint.

point
Menentukan jumlah (POINT atau CPoint) untuk mengimbangi CPoint.

size
Menentukan jumlah (SIZE atau CSize) untuk mengimbangi CPoint.

Contoh

CPoint   ptStart(100, 100);
ptStart.Offset(35, 35);

CPoint   ptResult(135, 135);
ASSERT(ptStart == ptResult);

// works with POINT, too

ptStart = CPoint(100, 100);
POINT pt;

pt.x = 35;
pt.y = 35;

ptStart.Offset(pt);

ASSERT(ptStart == ptResult);

// works with SIZE, too

ptStart = CPoint(100, 100);
SIZE size;

size.cx = 35;
size.cy = 35;

ptStart.Offset(size);

ASSERT(ptStart == ptResult);   

CPoint::operator ==

Memeriksa kesetaraan antara dua POINTs.

BOOL operator==(POINT point) const throw();

Parameter

point
POINT Berisi struktur atau CPoint objek.

Tampilkan Nilai

Bukan nol jika POINTs sama; jika tidak, 0.

Contoh

CPoint ptFirst(256, 128);
CPoint ptTest(256, 128);

ASSERT(ptFirst == ptTest);

// works with POINTs, too

POINT pt;
pt.x = 256;
pt.y = 128;

ASSERT(ptTest == pt);

// note that pt == ptTest isn't correct!   

CPoint::operator !=

Memeriksa ketidaksamaan antara dua POINTs.

BOOL operator!=(POINT point) const throw();

Parameter

point
POINT Berisi struktur atau CPoint objek.

Tampilkan Nilai

Bukan nol jika POINTtidak sama; jika tidak, 0.

Contoh

CPoint ptFirst(256, 128);
CPoint ptTest(111, 333);

ASSERT(ptFirst != ptTest);

// works with POINTs, too

POINT pt;
pt.x = 333;
pt.y = 111;

ASSERT(ptTest != pt);

// note that pt != ptTest isn't correct!   

CPoint::operator +=

Kelebihan beban pertama menambahkan SIZE ke CPoint.

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

Parameter

size
SIZE Berisi struktur atau CSize objek.

point
POINT Berisi struktur atau CPoint objek.

Keterangan

Kelebihan beban kedua menambahkan POINT ke CPoint.

Dalam kedua kasus, penambahan x dilakukan dengan menambahkan anggota (atau cx) dari operand tangan kanan ke x anggota CPoint dan menambahkan y anggota (atau cy) dari operand sebelah kanan ke y anggota CPoint.

Misalnya, menambahkan CPoint(5, -7) ke variabel yang berisi CPoint(30, 40) perubahan variabel ke CPoint(35, 33).

Contoh

CPoint   ptStart(100, 100);
CSize   szOffset(35, 35);

ptStart += szOffset;

CPoint   ptResult(135, 135);

ASSERT(ptResult == ptStart);

// also works on SIZE

ptStart = CPoint(100, 100);

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

ptStart += sz;

ASSERT(ptResult == ptStart);   

CPoint::operator -=

Kelebihan beban pertama mengurangi SIZE dari CPoint.

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

Parameter

size
SIZE Berisi struktur atau CSize objek.

point
POINT Berisi struktur atau CPoint objek.

Keterangan

Kelebihan beban kedua mengurangi dari POINT CPoint.

Dalam kedua kasus, pengurangan dilakukan dengan mengurangi x (atau cx) anggota operand sebelah kanan dari x anggota CPoint dan mengurangi y (atau cy) anggota operand sebelah kanan dari y anggota CPoint.

Misalnya, mengurangi CPoint(5, -7) dari variabel yang berisi CPoint(30, 40) perubahan variabel menjadi CPoint(25, 47).

Contoh

CPoint   ptStart(100, 100);
CSize   szOffset(35, 35);

ptStart -= szOffset;

CPoint   ptResult(65, 65);

ASSERT(ptResult == ptStart);

// also works on SIZE

ptStart = CPoint(100, 100);

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

ptStart -= sz;

ASSERT(ptResult == ptStart);   

CPoint::operator +

Gunakan operator ini untuk mengimbangi CPoint oleh CPoint objek atau CSize , atau untuk mengimbangi CRect oleh CPoint.

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

Parameter

size
SIZE Berisi struktur atau CSize objek.

point
POINT Berisi struktur atau CPoint objek.

lpRect
Berisi penunjuk ke RECT struktur atau CRect objek.

Tampilkan Nilai

CPoint yang diimbangi oleh SIZE, CPoint yang diimbangi oleh POINT, atau CRect offset oleh POINT.

Keterangan

Misalnya, menggunakan salah satu dari dua kelebihan beban pertama untuk mengimbangi titik CPoint(25, -19) dengan titik CPoint(15, 5) atau ukuran CSize(15, 5) mengembalikan nilai CPoint(40, -14).

CRect Menambahkan ke POINT mengembalikan CRect setelah diimbangi oleh x nilai dan y yang ditentukan dalam POINT. Misalnya, menggunakan kelebihan beban terakhir untuk mengimbangi persegi panjang CRect(125, 219, 325, 419) dengan titik CPoint(25, -19) mengembalikan CRect(150, 200, 350, 400).

Contoh

CPoint   ptStart(100, 100);
CSize   szOffset(35, 35);
CPoint   ptEnd;

ptEnd = ptStart + szOffset;

CPoint   ptResult(135, 135);

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

CPoint::operator -

Gunakan salah satu dari dua kelebihan beban pertama untuk mengurangi CPoint objek atau CSize dari CPoint.

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

Parameter

point
Struktur POINT atau CPoint objek.

size
Struktur SIZE atau CSize objek.

lpRect
Penunjuk ke RECT struktur atau CRect objek.

Tampilkan Nilai

Yang CSize merupakan perbedaan antara dua POINTs, CPoint yang diimbangi oleh negasi SIZE, CRect yang diimbangi oleh negasi POINT, atau CPoint yang merupakan negasi dari POINT.

Keterangan

Kelebihan beban ketiga mengimbangi dengan CRect negasi .CPoint Terakhir, gunakan operator unary untuk meniadakan CPoint.

Misalnya, menggunakan kelebihan beban pertama untuk menemukan perbedaan antara dua poin CPoint(25, -19) dan CPoint(15, 5) mengembalikan CSize(10, -24).

Mengurangi CSize dari CPoint melakukan perhitungan yang sama seperti di atas tetapi mengembalikan CPoint objek, bukan CSize objek. Misalnya, menggunakan kelebihan beban kedua untuk menemukan perbedaan antara titik CPoint(25, -19) dan ukuran CSize(15, 5) mengembalikan CPoint(10, -24).

Mengurangi persegi panjang dari POINT mengembalikan offset persegi dengan negatif dari x nilai dan y yang ditentukan dalam POINT. Misalnya, menggunakan kelebihan beban terakhir untuk mengimbangi persegi panjang CRect(125, 200, 325, 400) dengan titik CPoint(25, -19) mengembalikan CRect(100, 219, 300, 419).

Gunakan operator unary untuk meniadakan POINT. Misalnya, menggunakan operator unary dengan titik CPoint(25, -19) mengembalikan CPoint(-25, 19).

Contoh

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

Lihat juga

MFC Sampel MDI
Bagan Hierarki
POINT Struktur
CRect Kelas
CSize Kelas