Windows将鼠标单击转换为双击的原理(鼠标变成双击)

对于这个问题,我还是建议你先看看MSDN技术文档中关于鼠标点击方面的内容,因为这些内容是我们开展研究的起点。我也假定你基本了解鼠标的单击转换为双击的基本工作原理。

在阅读了相关的MSDN文档之后,下面我们来看看文档中的设计以及它如何影响你自己的用户界面设计。

Windows将鼠标单击转换为双击的原理(鼠标变成双击)

首先,有些开发者将鼠标双击动作设计为执行不同于鼠标单机的独立任务。他们想知道是否可以在处理鼠标双击消息时,安全的忽略掉WM_LBUTTONDOWN这个消息。

当鼠标按钮被第一次按下的时候,窗口管理器不知道接下来会不会有第二次点击。(有时候用户自己可能也不知道) 所以它会发出WM_LBUTTONDOWN消息并等待后面的更多消息。

现在,假设你是一个程序员,你仍然希望继续采用让双击操作与单击操作无关的设计方案。你会怎么做呢?能想到的一种方法是,在收到 WM_LBUTTONDOWN 消息时不做任何事情,除了设置一个计时器以在 GetDoubleClickTime() 毫秒内触发。如果在该时间内收到 WM_LBUTTONDBLCLK 消息,那么则认为发生了双击动作。 如果没有,那么它一定是单击,因此可以执行单击操作(虽然稍微有些延迟)。

如果你没有设计双击事件处理,那么,这种基于等待的技术方案也是必要的,但是第二次单击与第一次单击一起会导致麻烦。为什么这是必要的? 因为很多用户在仅需要单击的情况下,也会双击。以下是可以看到“避免第二次点击的延迟操作”的一些示例:

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

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

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

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

Windows将鼠标单击转换为双击的原理(鼠标变成双击)

请注意,因为我们正在处理的是鼠标双击事件,所以这里我们需要将CS_DBLCLKS属性打开。wc.style = CS_DBLCLKS;

运行此程序时,单击并双击客户区。 请注意,该程序直到双击超时后才会对单击做出反应,因为它正在等待查看你是否要继续第二次单击(因此是双击而不是单击)。

后面我们会说说高于两次的鼠标点击的情况。

总结

毕竟操作系统不是神仙,它需要尽一切可能去理解用户的点击行为。有时候,这真是太难了。

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。本文来自:《Logical consequences of the way Windows converts single-clicks into double-clicks》

最近我写了个东西

正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。我想:你值得拥有。

Windows将鼠标单击转换为双击的原理(鼠标变成双击)

以上内容来源于网络,由“WiFi之家网”整理收藏!

原创文章,作者:电脑教程,如若转载,请注明出处:https://www.224m.com/215158.html

(0)
电脑教程电脑教程
ROS常用脚本命令分享
上一篇 2022年12月2日 11:37
电脑播放视频没有声音是什么原因(电脑播放视频没有声音是什么原因说播放器没有运行)
下一篇 2022年12月2日 11:46

相关推荐

  • GSWiFi路由器校园网设置教程

    原标题:"GSWiFi路由器校园网怎么设置"的相关路由192.168.1.1登录设置教程。来源 - WiFi之家网。注意:所有下面要设置到选择模仿的选项,都要选择模仿电脑!否则不能上网成功!一、网"

    2020年12月30日
    381.1K
  • d-link路由器开启远程管理操作步骤

    原标题:"d-link路由器如何开启远程管理"相关路由器设置经验分享。 - 来源:WiFi之家网

    在设定路由器时,有时会碰到设置都设置好了,但是还是部分功能不知如何设置,这时候就可以"

    路由器设置 2021年2月23日
    17.7K
  • Win10系统资源管理器删除Creative Cloud文件夹的方法(图)

    原标题:"Win10系统资源管理器删除Creative Cloud文件夹的方法"相关电脑问题教程分享。 - 来源:WiFi之家网。据悉,win10 Creative Cloud桌面版程序最近发布了一次更

    2021年8月6日
    3.4K
  • AC2100路由器怎么设置上网?(如何设置AC2100路由器接入互联网?)

    答:把你的AC2100路由器与光猫(入户宽带网线)连接后,在浏览器中打开它的设置页面,根据页面中的提示操作,就可以设置路由器上网了,下面介绍详细的操作步骤。

    2022年1月1日
    37.0K
  • u盘几种格式的优缺点

    原标题:"三种常见U盘格式有何优缺点?"相关电脑问题教程分享。 - 来源:网络投稿。  我们日常生活中使用的U盘是存在多种格式的,但只有三种U盘格式比较常见,分别是FAT32、NTFS、ExFAT。那

    2021年6月25日
    13.3K
  • 智能路由器可以无需设置吗(阿里智能路由器怎么设置)

    智能路由器可以无需设置吗 智能路由器是一种能够智能分析网络状况并自动调整网络设置的路由器。它的出现极大地方便了我们的网络使用,但很多人都会有一个问题,智能路由器可以无需设置吗?以下…

    网络 2025年3月14日
    1.2K
  • 以太网和宽带的区别(图文)

    【导读】以太网和宽带的区别,下面就是WiFi之家网整理的网络知识百科,来看看吧!大家好,我是191路由器网小编,上述问题将由我为大家讲解。宽带是由一个个以太网(局域网)级联组成的,两者的区别在于:  1

    2021年8月10日
    29.8K
  • 艾泰企业版路由器设置教程(艾泰路由器无线桥接完美教程)

    艾泰企业版路由器设置教程 1. 连接路由器 首先,将路由器插入电源并连接至电脑,打开浏览器输入默认的IP地址,输入账号和密码登录。 2. 修改网络设置 在路由器界面中,找到“网络设…

    网络 2024年8月28日
    2.5K
  • 手机的ROOT权限是什么(手机ROOT权限)

    迄今为止,智能手机存在我们生活里不知不觉已经十多年了,但是我们真的深入了解过智能手机吗?我们手中的智能手机真的是属于我们自己的吗?强大性能的智能手机应该配怎样强大且方便的智能软件呢…

    2023年4月9日
    8.0K
  • 如何用手机更改路由器WIFI密码

    有时候想要修改一下无线路由器上的WIFI密码,但是身边有没有电脑,只有手机,怎么办呢?用手机修改路由器WIFI密码也是完全可以的下面我们就了解一下如何用手机修改WIFI密码吧一 手机连接WIFI信号

    2020年5月24日
    28.4K