【发布时间】:2012-09-30 01:53:38
【问题描述】:
我目前正在做一个项目,该项目需要我知道鼠标何时被拖动到左侧或右侧。
我想用这些信息做什么,是在 3d 空间(使用 OpenGL/Win32)中向左或向右拖动一个对象,具体取决于鼠标的拖动方式。
问题是,我不知道如何确定鼠标的拖动方式。
我尝试找到之前的x坐标,并从当前x坐标中减去它,但是我不知道如何确定之前的x坐标!
有人可以帮帮我吗?
(P.S. 我已经知道当前 x 鼠标位置是用 LOWORD(lParam) 找到的,但我不知道如何确定之前的 x 鼠标位置。感谢您的时间。 )
【问题讨论】:
-
您可以将当前位置存储在一个变量中,并下次将其用作上一个位置。
-
我已经尝试过上述方法,但是,我的问题是,当我存储当前位置并根据新的当前位置检查时,它们总是相等(相同)。例如,如果我当前的鼠标位置是 10,并且我再次更改它,我会检查 xprev 和 curx,它们都等于 10。
-
windows 过程中的静态变量可以很好地存储前一个变量。解决方案的核心是使存储前一个 x 位置的变量对函数本身来说是全局的。
-
@JamesDiaz: "当我存储当前位置并根据新的当前位置检查时,它们总是相等" 那么你的代码中有一个错误.也许你应该把代码贴出来让我们看到。