Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Microsoft Foundation Sınıfları (MFC) kitaplığı ve Etkin Şablon Kitaplığı (ATL) desteklenmeye devam ediyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.
Windows POINT yapısına benzer.
Sözdizimi
class CPoint : public tagPOINT
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
CPoint::CPoint |
bir CPointoluşturur. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CPoint::Offset |
ve x üyelerine yCPointdeğer ekler. |
Ortak İşleçler
| Veri Akışı Adı | Açıklama |
|---|---|
CPoint::operator - |
bir ile CPointdeğerinin SIZE farkını ya da bir öğesinin olumsuzlamasını POINTya da iki CSizes arasındaki farkı ya da POINT bir negatif SIZEile uzaklığı döndürür. |
CPoint::operator != |
İki POINTsn arasındaki eşitsizliği denetler. |
CPoint::operator + |
ve CPoint veya SIZEPOINT veya uzaklığının CRectSIZEtoplamını döndürür. |
CPoint::operator += |
veya CPointekleyerek SIZE uzaklıkları gösterirPOINT. |
CPoint::operator -= |
veya CPointçıkararak SIZE uzaklıkları POINT oluşturur. |
CPoint::operator == |
İki POINTs 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 CSize yapıları kabul SIZE 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, POINT ve xyapısının veri üyelerinin öğesinin y erişilebilir veri üyeleri CPointolduğ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 xCPointdeğerini belirtir.
initY
öğesinin üyesinin yCPointdeğerini belirtir.
initPt
POINT yapısı veya CPoint başlatmak CPointiçin kullanılan değerleri belirtir.
initSize
SIZE yapısı veya CSize başlatmak CPointiç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 dwPointayarlar.
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 x üyelerine yCPointdeğ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 CPointbelirtir.
yOffset
öğesinin üyesinin uzaklığının y ne kadar olduğunu CPointbelirtir.
point
uzaklığı POINTiçin miktarı (CPoint veya CPoint) belirtir.
size
uzaklığı SIZEiçin miktarı (CSize veya CPoint) 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 POINTs 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 POINTsı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 POINTsn 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 POINTsı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 SIZEbir CPoint 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 POINTbir CPoint ekler.
Her iki durumda da toplama işlemi, sağ işlenenin x (veya cx) üyesinin üyesine xCPoint eklenerek ve sağ işlenenin (veya y) üyesinin öğesinin cyüyesine y eklenerek CPoint yapılır.
Örneğin, içeren CPoint(5, -7) bir değişkene eklemeCPoint(30, 40), 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 x) üyesinin öğesinden cxx çıkarılarak ve sağ işlenenin (veya CPoint) üyesinin öğesinden ycyçıkarılarak y yapılır.CPoint
Örneğin, içeren CPoint(5, -7) bir değişkenden çıkarmaCPoint(30, 40), 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 CPoint bir CSize ile kaydırmak CRectCPoint 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 RECT nesnenin işaretçisini CRect içerir.
Dönüş Değeri
bir CPoint ile SIZEuzaklık olan, CPoint bir ile uzaklık POINTCRect 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 CRect ekleme POINT işlemi, CRect içinde belirtilen ve x değerlerine göre y uzaklığından sonra değerini POINTdö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 CPoint nesnesini öğesinden çıkarmak CSize için ilk iki aşırı yüklemeden CPointbirini 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 POINTs arasındaki fark olan, bir CPoint öğesinin olumsuzlanmasıyla SIZEuzaklığı olan, CRect bir öğesinin olumsuzlaması ile uzaklığı olan veya POINTCPoint bir öğesinin olumsuzlaması olan bir POINTdeğ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 CPoint nesne döndürürCPoint.CSize Ö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 xve y değerlerinin POINT 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