首页 >> 百科

鼠标单击偶尔变双击了(为什么鼠标单击变双击了)

2022-07-12 百科 190 作者:admin

对于这个问题,我还是建议你先看看 MSDN 关于鼠标点击的技术文档,因为这些是我们研究的起点。我还假设您对鼠标单击如何转换为双击有基本的了解。看完了相关的MSDN文档,我们来看看文档中的设计,以及它是如何影响自己的用户界面设计的。

首先,一些开发人员设计了鼠标双击来从单个鼠标执行单独的任务。他们想知道在处理鼠标双击消息时忽略是否安全。

第一次按下鼠标按键,窗口管理器不知道下次是否还会有第二次点击。 (有时用户自己可能不知道。)因此它发出消息并等待稍后的更多消息。

现在假设您是一名程序员,并且您仍然希望保持双击操作独立于单击操作。你会怎么做?一种可能的方法是在收到消息时什么都不做,除了将计时器设置为在 () 毫秒内触发。如果在此时间内收到 WM_ 消息,则认为发生了双击。如果不是,那么一定是点击,并且可以执行点击动作(虽然有一点延迟)。

如果不设计双击事件处理,这种基于等待的技术方案也是必须的,但是第二次点击会导致第一次点击出现问题。为什么这是必要的?因为很多用户只需要点击的时候就双击了。以下是您可以看到“延迟操作以避免第二次点击”的一些示例:

为任务栏通知图标显示上下文菜单。如果上下文菜单在第一次单击时立即出现,则第二次单击会关闭上下文菜单,从而使用户感到困惑。 “我点击了一下,发生了一些事情,然后它就消失了。” (用户不会说“我双击了”;他们只是说他们一拍即合。双击是他们唯一会做的事情,所以他们称之为“点击”。例如,如果你只有一个车,那么你就不会说“今天我开着我的蓝色车”。)

如果浏览器处于一键模式,它会等待查看是否有第二次点击,如果有,则忽略它。否则,当人们双击时,他们将启动该程序的两个副本。此外,如果您禁用第二次点击但不等待,他们启动的程序将卡在窗口后面,因为用户在启动程序后点击了。

XP 风格的开始按钮会忽略第二次单击。否则,当人们双击开始按钮时,第一次单击将打开开始菜单,第二次单击将关闭它! (这有时被称为“去抖动”。)

接下来,我们来看一个延迟鼠标点击的实现。

请注意,由于我们处理的是鼠标双击事件,这里我们需要打开属性。 wc.style = CS_

运行此程序时,单击并双击客户区。请注意,在双击超时之前,程序不会响应单击,因为它正在等待查看您是否要继续进行第二次单击(因此是双击而不是单击)。

稍后我们将讨论两次以上的鼠标点击。

毕竟,操作系统不是神。它需要千方百计了解用户的点击行为。有时候太难了。

最后,陈的“旧新事物”是我最喜欢的博客之一。里面包含了很多关于它的小知识,对广大平台开发者来说真的很有帮助。本帖来自:点击转化为双击的逻辑结果

我最近写了一些东西。众所周知,Box 是一款便携应用,主要针对经常使用电脑的朋友。提供各种小功能,提高办公效率,同时操作尽量简单方便。我认为:你应得的。

关于我们

最火推荐

小编推荐

联系我们


Copyright 8S新商盟 Rights Reserved.
联系YY号:2949821684
邮箱:chenjing919994@sohu.com
备案号:浙ICP备2023016511号-1