cgy091107 2022-07-26 21:10 采纳率: 66.7%
浏览 56
已结题

关于#鼠标拖动#的问题,如何解决?

我需要编写一个程序,但是它出现了问题。如图所示,当鼠标拖动窗口时,我希望它可以跟随鼠标移动,可是:

img

img

我认为是代码的问题。我的思路如下:

img

所以,我认为代码应该为:

x=mx+8-(mx-x)#mx+8为鼠标x坐标,x为窗口x坐标。
y=my+8-(my-y) #同理,my+8为鼠标y坐标,y为窗口y坐标。
但是它运行效果是错误的。这很正常,因为代码
x=mx+8-(mx-x)
y=my+8-(my-y)

相当于

#去括号
x=mx+8-mx+x
y=my+8-my+y

等同于:

#化简
x=8+x
y=8+y

这是肯定错的。但是,我却不知道怎么写了。
哪位仁兄来帮帮我?

  • 写回答

1条回答 默认 最新

  • CodeOfCC 2022-07-27 13:34
    关注

    1、鼠标按下时记录鼠标与窗口坐标的差值,dx=mx-x;dy=my-y
    2、鼠标移动时鼠标坐标减去差值即是窗口跟随坐标,x=mx-dx;y=my-dy
    注:上述坐标体系为窗口上一级。即:窗口上一级为桌面则是桌面坐标,为父窗口则是父窗口内坐标。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月29日
  • 已采纳回答 12月21日
  • 创建了问题 7月26日