Aracılığıyla paylaş


CPoint Sınıf

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