CPoint
Sınıf
Windows POINT
yapısına benzer.
Sözdizimi
class CPoint : public tagPOINT
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CPoint::CPoint |
bir CPoint oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CPoint::Offset |
ve y üyelerine x CPoint değer ekler. |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
CPoint::operator - |
bir ile SIZE değerinin CPoint farkını ya da bir öğesinin olumsuzlamasını POINT ya da iki POINT s arasındaki farkı ya da CSize bir negatif SIZE ile uzaklığı döndürür. |
CPoint::operator != |
İki POINT sn arasındaki eşitsizliği denetler. |
CPoint::operator + |
ve SIZE veya POINT CRect veya uzaklığının CPoint SIZE toplamını döndürür. |
CPoint::operator += |
veya POINT ekleyerek SIZE uzaklıkları gösterirCPoint . |
CPoint::operator -= |
veya POINT çıkararak SIZE uzaklıkları CPoint oluşturur. |
CPoint::operator == |
İki POINT s arasındaki eşitliği denetler. |
Açıklamalar
Ayrıca, işlemeye CPoint
ve POINT
yapılara yönelik üye işlevlerini de içerir.
Bir CPoint
yapı nerede kullanılırsa kullanılsın nesne POINT
kullanılabilir. Bu sınıfın bir ile SIZE
etkileşim kuran işleçleri nesneleri veya SIZE
yapıları kabul CSize
eder, çünkü ikisi birbirinin yerine kullanılabilir.
Not
Bu sınıf yapısından tagPOINT
türetilir. (AdtagPOINT
, yapı için POINT
daha az kullanılan bir addır.) Bu, x
ve y
yapısının veri üyelerinin öğesinin POINT
erişilebilir veri üyeleri CPoint
olduğu anlamına gelir.
Not
Paylaşılan yardımcı program sınıfları (gibi CPoint
) hakkında daha fazla bilgi için bkz . Paylaşılan Sınıflar.
Devralma Hiyerarşisi
tagPOINT
CPoint
Gereksinimler
Üstbilgi: atltypes.h
CPoint::CPoint
Bir CPoint
nesne oluşturur.
CPoint() throw();
CPoint(int initX, int initY) throw();
CPoint(POINT initPt) throw();
CPoint(SIZE initSize) throw();
CPoint(LPARAM dwPoint) throw();
Parametreler
initX
öğesinin üyesinin x
CPoint
değerini belirtir.
initY
öğesinin üyesinin y
CPoint
değerini belirtir.
initPt
POINT
yapısı veya CPoint
başlatmak CPoint
için kullanılan değerleri belirtir.
initSize
SIZE
yapısı veya CSize
başlatmak CPoint
için kullanılan değerleri belirtir.
dwPoint
Üyeyi x
düşük sıralı sözcüğüne dwPoint
, üyeyi y
ise yüksek sıralı sözcüğüne dwPoint
ayarlar.
Açıklamalar
Bağımsız değişken verilmezse x
ve y
üyeler 0 olarak ayarlanırsa.
Örnek
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
ve y
üyelerine x
CPoint
değer ekler.
void Offset(int xOffset, int yOffset) throw();
void Offset(POINT point) throw();
void Offset(SIZE size) throw();
Parametreler
xOffset
öğesinin üyesinin uzaklığının x
ne kadar olduğunu CPoint
belirtir.
yOffset
öğesinin üyesinin uzaklığının y
ne kadar olduğunu CPoint
belirtir.
point
uzaklığı CPoint
için miktarı (POINT
veya CPoint
) belirtir.
size
uzaklığı CPoint
için miktarı (SIZE
veya CSize
) belirtir.
Örnek
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 ==
İki POINT
s arasındaki eşitliği denetler.
BOOL operator==(POINT point) const throw();
Parametreler
point
Bir POINT
yapı veya CPoint
nesne içerir.
Dönüş Değeri
Eşitse POINT
sıfır olmayan; aksi takdirde 0.
Örnek
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 !=
İki POINT
sn arasındaki eşitsizliği denetler.
BOOL operator!=(POINT point) const throw();
Parametreler
point
Bir POINT
yapı veya CPoint
nesne içerir.
Dönüş Değeri
Eşit değilse POINT
sıfır olmayan; aksi takdirde 0.
Örnek
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 +=
İlk aşırı yükleme öğesine CPoint
bir SIZE
ekler.
void operator+=(SIZE size) throw();
void operator+=(POINT point) throw();
Parametreler
size
Bir SIZE
yapı veya CSize
nesne içerir.
point
Bir POINT
yapı veya CPoint
nesne içerir.
Açıklamalar
İkinci aşırı yükleme, öğesine CPoint
bir POINT
ekler.
Her iki durumda da toplama işlemi, sağ işlenenin x
(veya cx
) üyesinin üyesine x
CPoint
eklenerek ve sağ işlenenin (veya cy
) üyesinin öğesinin CPoint
üyesine y
eklenerek y
yapılır.
Örneğin, içeren CPoint(30, 40)
bir değişkene eklemeCPoint(5, -7)
, değişkenini olarak CPoint(35, 33)
değiştirir.
Örnek
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 -=
İlk aşırı yükleme bir SIZE
öğesini içinden CPoint
çıkarır.
void operator-=(SIZE size) throw();
void operator-=(POINT point) throw();
Parametreler
size
Bir SIZE
yapı veya CSize
nesne içerir.
point
Bir POINT
yapı veya CPoint
nesne içerir.
Açıklamalar
İkinci aşırı yükleme bir POINT
öğesini içinden CPoint
çıkarır.
Her iki durumda da çıkarma işlemi, sağ işlenenin (veya cx
) üyesinin öğesinden x
CPoint
çıkarılarak ve sağ işlenenin (veya cy
) üyesinin öğesinden y
CPoint
çıkarılarak y
yapılır.x
Örneğin, içeren CPoint(30, 40)
bir değişkenden çıkarmaCPoint(5, -7)
, değişkenini olarak CPoint(25, 47)
değiştirir.
Örnek
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 +
Bir veya nesnesine göre kaydırmak CPoint
veya CSize
bir CPoint
ile kaydırmak CPoint
CRect
için bu işleci kullanın.
CPoint operator+(SIZE size) const throw();
CPoint operator+(POINT point) const throw();
CRect operator+(const RECT* lpRect) const throw();
Parametreler
size
Bir SIZE
yapı veya CSize
nesne içerir.
point
Bir POINT
yapı veya CPoint
nesne içerir.
lpRect
Bir yapı veya CRect
nesnenin işaretçisini RECT
içerir.
Dönüş Değeri
bir CPoint
ile SIZE
uzaklık olan, CPoint
bir ile uzaklık POINT
CRect
olan veya bir ile uzaklık olan bir POINT
.
Açıklamalar
Örneğin, noktayı bir noktaya CPoint(25, -19)
CPoint(15, 5)
veya boyuta CSize(15, 5)
göre kaydırmak için ilk iki aşırı yüklemeden birini kullanmak değerini CPoint(40, -14)
döndürür.
öğesine POINT
ekleme CRect
işlemi, CRect
içinde belirtilen ve y
değerlerine göre x
uzaklığından sonra değerini POINT
döndürür. Örneğin, dikdörtgeni bir CRect(125, 219, 325, 419)
noktaya CPoint(25, -19)
göre kaydırmak için son aşırı yüklemeyi kullanmak döndürür CRect(150, 200, 350, 400)
.
Örnek
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 -
veya CSize
nesnesini öğesinden çıkarmak CPoint
için ilk iki aşırı yüklemeden CPoint
birini kullanın.
CSize operator-(POINT point) const throw();
CPoint operator-(SIZE size) const throw();
CRect operator-(const RECT* lpRect) const throw();
CPoint operator-() const throw();
Parametreler
point
Bir POINT
yapı veya CPoint
nesne.
size
Bir SIZE
yapı veya CSize
nesne.
lpRect
Bir yapıya veya nesneye RECT
işaretçi CRect
.
Dönüş Değeri
CSize
İki POINT
s arasındaki fark olan, bir CPoint
öğesinin olumsuzlanmasıyla SIZE
uzaklığı olan, CRect
bir öğesinin olumsuzlaması ile uzaklığı olan veya POINT
CPoint
bir öğesinin olumsuzlaması olan bir POINT
değeridir.
Açıklamalar
Üçüncü aşırı yükleme, ' CRect
yi olumsuzlama ile kaydırıyor CPoint
. Son olarak, birli işlecini kullanarak öğesini olumsuz yazın CPoint
.
Örneğin, iki nokta CPoint(25, -19)
CPoint(15, 5)
arasındaki farkı bulmak için ilk aşırı yüklemeyi kullanarak döndürür CSize(10, -24)
.
'den çıkarma CSize
işlemi yukarıdakiyle aynı hesaplamayı yapar ancak nesne değil CSize
nesne döndürürCPoint
.CPoint
Örneğin, nokta CPoint(25, -19)
ile boyut CSize(15, 5)
arasındaki farkı bulmak için ikinci aşırı yüklemeyi kullanmak döndürür CPoint(10, -24)
.
Bir dikdörtgenin bir içinden POINT
çıkarılması, içinde belirtilen POINT
ve y
değerlerinin x
negatiflerine göre dikdörtgen uzaklığını döndürür. Örneğin, dikdörtgeni CRect(125, 200, 325, 400)
noktaya CPoint(25, -19)
göre kaydırmak için son aşırı yüklemeyi kullanmak döndürür CRect(100, 219, 300, 419)
.
Bir birli işlecini kullanarak bir POINT
öğesini olumsuz kullanın. Örneğin, nokta CPoint(25, -19)
ile birli işlecini kullanmak döndürür CPoint(-25, 19)
.
Örnek
// 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);
Ayrıca bkz.
MFC Örnek MDI
Hiyerarşi Grafiği
POINT
Yapı
CRect
Sınıf
CSize
Sınıf