|
안녕하세요. 여기에서 많은걸 배우고 있는 빌더 초보자입니다.
죠그서틀 같은 걸 만들려고 하는데....
image 콤퍼넌트 위에다 canvas를 이용해서 원 그림을 그리고
그것을 4/4분면으로 나누어서 마우스의 움직임을 체크한 다음
마우스를 이용해서 왼쪽 버튼을 누르고 돌리다가 마우스가 멈추고 왼쪽 버튼을 업했을때
작은 원이 나타나도록
할려고 합니다. 작은 원은 항상 한번만 나타나야 겠죠.
제가 작성한 코드는 아래와 같습니다. 시계 소스를 이용했습니다.
이것을 이용해서 제가 원하는 방법으로 만들려고 하는데 어떻게 해야 될지 잘 모르겠습니다.
도움 바랍니다.
void __fastcall TForm1::Image6MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
int x=0, y=0;
TCanvas *pCanvas = Image6->Canvas;
pCanvas->Brush->Color = clMenu;
if( Image6->Width/2 <= X && X < Image6->Width )
{
if( 0 <= Y && Y < Image6->Height/2 )
{
x = GetRadX(0, 36, 26)+32;
y = GetRadY(0, 36, 26)+32;
pCanvas->Ellipse(x-5,y-5, x+5,y+5);
}
}
if( Image6->Width/2 <= X && X < Image6->Width )
{
if( Image6->Height/2 <= Y && Y < Image6->Height )
{
x = GetRadX(9, 36, 26)+32;
y = GetRadY(9, 36, 26)+32;
pCanvas->Ellipse(x-5,y-5, x+5,y+5);
}
}
if(0 <= X && X < Image6->Width/2 )
{
if( Image6->Height/2 <= Y && Y < Image6->Height )
{
x = GetRadX(18, 36, 26)+32;
y = GetRadY(18, 36, 26)+32;
pCanvas->Ellipse(x-5,y-5, x+5,y+5);
}
}
if( 0 <= X && X < Image6->Width/2 )
{
if( 0 <= Y && Y < Image6->Height/2)
{
x = GetRadX(27, 36, 26)+32;
y = GetRadY(27, 36, 26)+32;
pCanvas->Ellipse(x-5,y-5, x+5,y+5);
}
}
}
|