设为首页 加入收藏

TOP

滑鼠(十九)
2010-12-30 21:11:57 来源: 作者: 【 】 浏览:27883
Tags:滑鼠
wCursor之前,不需要确定是否安装了滑鼠。如果您想显示滑鼠游标,而不管滑鼠存在与否,那么只需呼叫ShowCursor来增加显示计数。增加一次显示计数之後,如果没有安装滑鼠则减少它以隐藏游标,如果安装了滑鼠,则保留其显示。

即使没有安装滑鼠,Windows也保留了滑鼠目前的位置。如果没有安装滑鼠,而您又显示滑鼠游标,游标就可能出现在显示器的任意位置,直到您确实移动了它。要获得游标的位置,可以呼叫:

其中pt是POINT结构。函式使用滑鼠的x和y座标来填入POINT栏位。要设定游标位置,可以使用:

在这两种情况下,x和y都是萤幕座标,而不是显示区域座标(这是很明显的,因为这些函式没有要求hwnd参数)。前面已经提到过,呼叫ScreenToClient和ClientToScreen就能做到萤幕座标与客户座标的相互转换。

如果您在处理滑鼠讯息并转换显示区域座标时呼叫GetCursorPos ,这些座标可能与滑鼠讯息的lParam参数中的座标稍微有些不同。从GetCursorPos传回的座标表示滑鼠目前的位置。lParam中的座标则是产生讯息时滑鼠的位置。

您或许想写一个键盘处理程式:使用键盘方向键来移动滑鼠游标,使用Spacebar和Enter键来模拟滑鼠按键。您肯定不希望每次按键只是将滑鼠游标移动一个图素,如果这样做,当要把滑鼠游标从显示器的一边移动到另一边时,会使用者在很长一段时间内都要按住同一个方向键。

如果您需要实作滑鼠游标的键盘介面,并保持游标的精确定位能力,那么您可以采用下面的方式来处理按键讯息:当按下方向键时,一开始滑鼠游标移动较慢,但随後会加快。您也许还记得WM_KEYDOWN讯息中的lParam参数标志著按键讯息是否是重复活动的结果,这就是此参数的一个重要应用。

在CHECKER中加入键盘介面
 

程式7-3所示的CHECKER2程式,除了包括键盘介面外,和CHECKER1是一样的,您可以使用左、右、上和下方向键在25个矩形之间移动游标。Home键把游标移动到矩形的左上角, End键把游标移动到矩形的右下角。Spacebar和Enter键都能切换X标记。

首页 上一页 16 17 18 19 20 21 22 下一页 尾页 19/50/50
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇计时器 下一篇键盘

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: