Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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