|
void __fastcall TForm1::image_MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if(during_drag)
{
image->Left += X;
image->Top += Y;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::imageMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
during_drag = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::imageMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
during_drag = false;
}
수십가지 방법이 있겠습니다만, 이렇게만 해도 동작은 합니다.
during_drag 는 private으로 추가된 bool 멤버구요. 단 이렇게 하셨을 경우엔
마우스 끝에 그림 왼쪽 윗부분이 붙어 다닐겁니다. imageMouseUp 함수 안에
image의 Left, Top 값을 저장한 다음 imageMouseMove 함수 안에서 보정하면
간단히 되겠지요.
더 좋은 방법이 있을 것 같은데, 문득 떠오른 건 이런 방법이로군요. 그럼
오늘 꼭 퇴근하세요 ^-^;
Rainsinger.
|