问题标签 [mouse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
302 浏览

.net - 拖动/大小手柄实现

我正在寻找拖动/大小手柄的实现或解释。

也许我使用了错误的命名法,但我的意思是当您选择对象并想要对该对象执行诸如旋转、大小、缩放等操作时出现在对象周围的“句柄”(主要是在绘图程序中)。 ..

谁能指出我可以查看或解释他们如何/将如何实现它的 OSS 实现?

0 投票
2 回答
454 浏览

cocoa - 存储 mousedown 位置

我的可可应用程序计算每个 mousedown 事件的位置。下次单击鼠标时,该位置将被新的位置覆盖。如何存储位置?是否可以创建一个带有 mousedown 位置的数组?

谢谢

0 投票
1 回答
517 浏览

cocoa - 在 mousedown 方法中创建一个 NSRect 值数组

我的可可应用程序计算每个 mousedown 事件的位置。它还使用 NSPointInRect 检查该位置是否位于矩形内,同时使用矩形的值枚举现有的可变数组。我正在使用 if 语句将 mousedown 事件所在的矩形值添加到新数组 (selectedRectangles)。这些值完美地添加到 selectedRectangles 中,唯一的问题是以前的值被覆盖了。我怎么解决这个问题。

PS 在 mousedown 方法结束时,我使用 setNeedsDisplay:YES 来更新数据(这是因为 selectedRectangles 在另一种方法中使用)。

0 投票
3 回答
3243 浏览

cocoa - 模拟鼠标点击窗口而不是屏幕

在 MacOS X 中是否可以将鼠标单击发送到特定窗口?

我已经设法通过CGPostMouseEvent. 我要控制的窗口相互重叠,所以我的下一个想法是在触发点击之前将正确的窗口放在前面。它可以工作,但最终会一团糟…… ;-)

0 投票
6 回答
11826 浏览

macos - glutPassiveMotionFunc 和 glutWarpMousePointer

我想在 OpenGL / GLUT 窗口中实现我自己的光标。执行此操作的常用方法是冻结光标(因此它不会碰到屏幕边缘)并自己跟踪其位置。我可以使用使屏幕光标不可见

然后在我的 glutPassiveMotionFunc 回调中使用

这样做的原因是它使指针保持在窗口的中间。问题是,当我绘制“OpenGL”鼠标(在 glutDisplayFunc() 回调内部)时,它非常生涩。

我在网上查了一下,发现可能存在 glutWarpPointer() 导致再次调用 glutPassiveMotionFunc 回调,从而导致循环的问题,但这里似乎不会发生这种情况。

我在 Mac OS X 上,我发现一个帖子说 CGDisplayMoveCursorToPoint 更适合这个。调用 CGDisplayMoveCursorToPoint 有效,但运动仍然非常不稳定(我似乎得到了很多 x 和 y 均为 0 的事件)。无论如何,我希望它也能在 Linux 上工作,因此仅 Mac 的解决方案并不理想(但我可以在不同的系统上做不同的事情)。

我已将其简化为测试用例。

0 投票
3 回答
3102 浏览

c# - 如何将相对鼠标移动发送到另一台电脑

我捕获 Windows 鼠标移动事件并计算相对鼠标移动以将其发送到另一台电脑。到目前为止一切顺利,效果很好。

但是,如果我阻止发送鼠标坐标(客户端)的屏幕上的鼠标移动或到达屏幕的一侧,则 Windows api 会触发第二个鼠标事件,该事件会将鼠标弹回。

我的第一个想法是记录相对运动并忽略每一个“倒转”运动。但我正在寻找更好的方法。

首先我打电话:

现在我启动应用程序并将鼠标移动到左上角方向。我只想接收负增量,但会发生这种情况:

0 投票
1 回答
671 浏览

wpf - ListItem 鼠标进入消息框

我在我的 XAML 中使用事件触发器,我在 ListItem 上设置了以下样式。我想要的是在鼠标进入列表项时在消息框中显示 ListItem 的内容。

我想知道当鼠标进入列表项时是否可以触发代码。

0 投票
3 回答
202 浏览

jquery - 如果通过 JQuery 创建 html,鼠标触发不会正确发生

HTML

jQuery

为什么 HTML 中的现有 DIV 甚至会触发鼠标并因此发出警报,但附加的 DIV 不会并且“死”。附加的 DIV 如何像现有的 DIV 一样做出反应?

编辑:总而言之,这是解决方案:

请注意,如果 SPAN 放置在悬停功能下方,它将不起作用。

0 投票
1 回答
1098 浏览

c++ - 锁定焦点并捕捉到特定窗口

我可以使用切换机制调用 setfocus 和 setcapture,并在 OnLButtonDown 中确保消息不会被传递,但在您左键单击时似乎失败了。有什么办法可以确保有捕获和焦点的窗口不会放弃它?

0 投票
2 回答
2039 浏览

macos - Mac OS X:CGGetLastMouseDelta 和以编程方式移动鼠标

我正在开发 MATLAB 的 PsychToolbox 的扩展,允许在心理物理实验期间更好地控制鼠标(特别是,防止屏幕边界限制拖动操作......它应该感觉你可以在所有方向上“无限”移动鼠标) . 由于 MATLAB 不支持创建额外的线程(无论如何这对于这种情况来说都是不必要的复杂),我不能使用 Carbon 或 Cocoa 事件管理器。

CGGetLastMouseDelta 对我需要做的事情几乎是完美的(它让我知道鼠标移动的数量” ,因为应用程序收到了最后一个鼠标移动事件" 忽略屏幕边界),但是有一个小问题。以编程方式移动鼠标时(使用 CGWarpMouseCursorPosition 或 CGDisplayMoveCursorToPoint),不会生成任何事件。因此,CGGetLastMouseDelta 似乎根本不知道鼠标已经移动。在换句话说,如果我以编程方式将鼠标移动 50 像素并向下移动 50 像素,CGGetLastMouseDelta 之后会为鼠标增量返回 (0, 0)。这在我的上下文中是不受欢迎的行为,需要丑陋的解决方法。我试过移动鼠标通过事件系统发布事件,如下(这是“mexFunction”,MATLAB 调用 C 代码的方式):

这愉快地移动了鼠标,但似乎根本没有改变 CGGetLastMouseDelta 的行为。有谁知道 CGGetLastMouseDelta 返回的确切规格(以及何时?)。Apple 关于这些东西的文档(Quartz 参考)像往常一样几乎没有用(或者至少缺少必要的细节)。

谢谢!