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

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

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

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日

悬赏问题

  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。