【发布时间】:2014-05-25 23:50:59
【问题描述】:
在 C++ Windows Store 应用程序中,主窗口上有一个名为 PointerPressed 的事件。我试图找到如何检测双击而不是单击。我没有看到与 PointerPressed 等效的事件会在鼠标双击时触发。
我还检查了 PointerPressed 事件参数,它似乎没有包含有关它是单击还是双击的信息。
使用 GestureRecognizer 上的 DoubleTapped 属性很容易执行此操作,但如果我不使用手势识别器怎么办?有没有办法检测到简单的鼠标双击???
谢谢。
编辑:它是针对 Windows 应用商店的纯 C++ Direct3D 应用程序,不使用 XAML 或任何类似的用户界面。
【问题讨论】:
-
我很困惑,你说“使用 GestureRecognizer 有一个简单的方法”,然后说,“如果我不使用它,就没有简单的方法”。嗯,是的。当你任意决定不习惯事物时,就会发生这种情况。你想解决什么问题?
-
对不起,我只是指出 GestureRecognizer 有这个功能,而基本窗口没有。
-
为什么 CoreWindow 类 (msdn.microsoft.com/en-us/library/windows/apps/xaml/…) 没有 DoubleTapped 事件,就像 UIElement 或 GestureRecognizer 一样?换句话说,实现鼠标双击的正确方法是什么?
-
目前我发现的唯一解决方法是使用 Pointer.Timestamp 属性,并检查自上次收到鼠标按下事件以来的时间是否小于系统双击时间。跨度>
标签: c++ windows-runtime windows-store-apps mouseevent double-click