Aracılığıyla paylaş


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 CPointoluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CPoint::Offset ve y üyelerine x CPointdeğer ekler.

Ortak İşleçler

Veri Akışı Adı Açıklama
CPoint::operator - bir ile SIZEdeğerinin CPoint farkını ya da bir öğesinin olumsuzlamasını POINTya da iki POINTs arasındaki farkı ya da CSize bir negatif SIZEile uzaklığı döndürür.
CPoint::operator != İki POINTsn arasındaki eşitsizliği denetler.
CPoint::operator + ve SIZE veya POINTCRect veya uzaklığının CPoint SIZEtoplamını döndürür.
CPoint::operator += veya POINTekleyerek SIZE uzaklıkları gösterirCPoint.
CPoint::operator -= veya POINTçıkararak SIZE uzaklıkları CPoint 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 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 yyapısının veri üyelerinin öğesinin POINT 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 x CPointdeğerini belirtir.

initY
öğesinin üyesinin y CPointdeğ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 y üyelerine x CPointdeğ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ığı CPointiçin miktarı (POINT veya CPoint) belirtir.

size
uzaklığı CPointiç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 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 CPointbir 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 CPointbir 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 CPointCRect 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 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 POINT ekleme CRect işlemi, CRect içinde belirtilen ve y değerlerine göre x 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 CSize nesnesini öğesinden çıkarmak CPoint 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 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 POINTve 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