Windows编程之鼠标

原创 2005年03月01日 11:08:00
     发明鼠标的人真了不起,或许是很懒才能发明这种设备吧,:)。PF之……
文章中说鼠标刚开始并不是很重要,人们更喜欢用键盘,其实我也很喜欢用键盘操作,比如打开计算器,我更喜欢用键盘的win+R,然后输入“calc”打开计算器,而不是用鼠标点“开始”->“程序”->“附件”->“计算器”。但是玩CS的时候就不同了。呵呵……

有鼠标是非常好的,但是我们不能一厢情愿的假设客户安装了鼠标,加入客户没有安装鼠标或者说鼠标坏了,当然这可能不经常发生,但是的确有这种可能,所以我们的程序应该考虑到这种情况。

函数fMouse = GetSystemMetrics (SM_MOUSEPRESENT) ;
用来确定是否安装了鼠标,如果安装了,则返回非0值,否则返回0。【Windows 98在没有装鼠标的情况下返回2】。

鼠标中的术语:
  •  Clicking 按下并放开一个鼠标按键。
     
  •  Double-clicking 快速按下并放开鼠标按键两次。
     
  •  Dragging 按住鼠标按键并移动鼠标。
  • 鼠标的E文单词是mouse,那么它的复数形式是什么?
    或许用mouse devices是一个参考。

    x = LOWORD (lParam) ;//鼠标的x坐标
    y = HIWORD (lParam) ;//y坐标
    确定为双击,则这两次单击必须发生在其相距的实际位置十分接近的状况下(内定范围是一个平均系统字体字元的宽,半个字元的高),并且发生在指定的时间间隔(称为「双击速度」)内.
    要想收到双击的消息,必须在RegesterClass的时候在style中包含CS_DBCLCKS识别字。

    wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS ;

    双击时的消息是:

    WM_LBUTTONDOWN

    WM_LBUTTONUP

    WM_LBUTTONDBLCLK

    WM_LBUTTONUP

    也就是说双击将首先处理单击消息,然后再处理双击消息。比如单击应用程序图标是“选中”,而双击该图标就是先“选中”,然后“运行”。
    命中测试消息WM_NCHITTEST:
    此消息优先于所有的显示区域和非显示区域的消息。lParam含有x和y 的屏幕坐标,wParam没有用。

    拦截鼠标消息:
    case WM_NCHITTEST:
       return (LRESULT) HTNOWHERE ;



    相关文章推荐

    windows编程之鼠标消息总结

    1 确定鼠标是否存在:fMouse = GetSystemMetrics (SM_MOUSEPRESENT) ; 2 获取鼠标上按键数目:cButtons = GetSystemMetrics (S...

    Windows编程基础 第五章 鼠标消息 定时器 菜单

    // windows07.cpp : 定义应用程序的入口点。 // #include "stdafx.h" #include "windows07.h" #include "tchar.h" HI...

    Windows编程之鼠标划过变形

    • 2013年09月17日 20:10
    • 2KB
    • 下载

    Windows编程(4)|SDK键盘鼠标消息的简单处理

    先看一下键盘按键按下时的消息   鼠标消息   下面是我对键盘和鼠标的一个消息处理过程,这只是消息处理函数部分 //窗口过程函数的实现(消息处理函数) LRESULT CALLBAC...
    • bizhu12
    • bizhu12
    • 2011年08月08日 01:44
    • 4838

    Windows编程 DirectInput 鼠标和键盘的输入

    版本:VS2015 语言:C++   书的第八章是一些数学的知识,以及一个图形库的创建。数学知识是有必要看一看的,我这里就不做多的介绍了,图形库的话反正你现在的win7+系统上也运行不了,看看就好...

    windows编程学习笔记(6)键盘与鼠标输入

    一.键盘输入处理 前面说过,windows程序是由消息驱动的,我们对程序的操作也可以被包装成一个消息,投递到程序的消息队列中,窗口过程函数通过对这个消息处理,达到响应输入的目的。 常见的键盘消息有...

    Windows编程鼠标按键练习

    • 2011年12月26日 20:05
    • 1.12MB
    • 下载

    windows编程第六版

    • 2014年12月22日 16:30
    • 3.49MB
    • 下载

    windows编程经典书籍

    本人是刚刚开始学习windows编程的,感觉看雪学院的大牛很NB.想找一些书籍来看学习学习,可是不知道看哪些书好. 驱动,对菜鸟们来说真是一个很深奥的话题,所以 ,我找来了这篇文章供大家分享,以后大家...

    Windows编程新手教程

    • 2015年11月24日 14:31
    • 440KB
    • 下载
    内容举报
    返回顶部
    收藏助手
    不良信息举报
    您举报文章:Windows编程之鼠标
    举报原因:
    原因补充:

    (最多只允许输入30个字)