在C ++ Builder 6中拖放图像

时间:2014-09-02 13:55:16

标签: c++ image c++builder

我正在制作拼图程序,我现在如何使用导航键移动图片部分但我该如何使用鼠标进行操作?

我尝试过使用此功能,但图片表现得像疯了一样

Image1->Top=Mouse->CursorPos.x;
Image1->Left=Mouse->CursorPos.y;

任何帮助?

编辑:

我把它放在Timer中,但是Image一次开始在两个地方闪烁......

    int difference_x=Form1->Image1->Left - Mouse->CursorPos.x;
    int difference_y=Form1->Image1->Top  - Mouse->CursorPos.y;

    int xxx=Mouse->CursorPos.x - difference_x ;
    int yyy=Mouse->CursorPos.y - 26 - difference_y;
                              // 26 is Cursor height

    Image1->Top=yyy;
    Image1->Left=xxx;

1 个答案:

答案 0 :(得分:0)

我卖掉了我的问题。

我是在OnMouseDown事件中做到的:

difference_x=Form1->Image1->Left-Mouse->CursorPos.x;
difference_y=Form1->Image1->Top-Mouse->CursorPos.y;
Timer1->Enabled=true;

这在计时器上:

int xxx=Mouse->CursorPos.x +difference_x ;
int yyy=Mouse->CursorPos.y +difference_y;

Image1->Top=yyy;
Image1->Left=xxx;