[Delphi 7] Rysowanie okręgu po kliknięciu


(Szczepciu2) #1

Witam

Mam do zrobienia program w delphi, który ma działać następująco:

Po pojedynczym kliknięciu na formę w dwóch różnych miejscach ma zostać narysowany okrąg o promieniu równym odległości pomiędzy pierwszym a drugim kliknięciem. Czy może mi ktoś z tym pomóc bo nie bardzo wiem jak się do tego zabrać. Nie chodzi mi o gotowy program tylko o naprowadzenie, od czego mam zacząć i jak to mniej więcej krok po kroku ma wyglądać.


([alex]) #2

OnMouseDown - zdarzenie kliknięcia myszki.

Cancas.Ellipse() - metoda do rysowania okręgów


(Szczepciu2) #3

a można trochę jaśniej bo tyle mniej więcej to ja wiem że trzeba zrobić. Okrąg ma się rysować po drugim kliknięciu i musi mieć promień równy odległości od kliknięcia do kliknięcia.


(Przemo Mynek) #4

Tak jak było napisane wcześniej :

Zdarzenie OnMouseDown , pobierasz pierwsze wsp myszki XY , za drugim razem podobnie XY , obliczasz promień i Canvas.Ellipse();


([alex]) #5

W formie:

unsigned sX,sY,pX,pY,ex[2],ey[2];

bool klik;

w OnCreate

pX=0; pY=0;

ex[0]=0; ex[1]=0;

ey[0]=0; ey[1]=0;

klik=false;

w OnMouseDown

if(klik)

{

pX=Sx-x; pY=sY-y;

for(int i=0;i<2;++i) { ex_=rand()%640; ey__=rand()%480; } // wylosowujesz gdzie maja być_

}

else

{

sX=x; sY=y;

}

klik=!klik;

w OnPaint

for(int i=0;i<2;++i) Canvas->Ellipse(ex ,ey ,ex +pX,ey +pY);