3639|5

60

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

wince上的四个方向键如何判断长按 [复制链接]

我想实现wince上的四个方向键任意一个长按5秒钟然后触摸一个需要处理的事件,测试了下,在下面三个函数里面都不能实现该功能
ProcessMessageFilter(int code, LPMSG lpMsg)
PreTranslateMessage(MSG* pMsg)
WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
测试结果是,按键按下没有放开的时候,WM_KEYDOWN消息就紧接着WM_KEYUP消息就出来了
不知道大家有没有其它什么好的方法
此帖出自WindowsCE论坛

最新回复

就是1L所说的,要从驱动入手  详情 回复 发表于 2010-3-9 12:39
点赞 关注
 

回复
举报

58

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
那你要检查下按键的驱动了。很可能这个驱动本身就不支持长按,也就是说,它发一个KEYDOWN后,马上就发KEYUP。
此帖出自WindowsCE论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
可以使用一个定时器实现。当KEYDOWN之后开始定时器,当KEYUP的时候判断定时器的时间。
此帖出自WindowsCE论坛
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 1 楼 yashi 的回复:
那你要检查下按键的驱动了。很可能这个驱动本身就不支持长按,也就是说,它发一个KEYDOWN后,马上就发KEYUP。


这个可以打印一下按键的处理消息就可以确定的.

先确定这个问题的,如果只是不支持长按,可以使用按下和Timer来实现长按.
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
打印过处理消息了
按下之后,keydown,keyup消息马上打印出来,放开之后,没有keyup消息再打印出来
此帖出自WindowsCE论坛
 
 
 

回复

85

帖子

1

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 yzbsd 的回复:
打印过处理消息了
按下之后,keydown,keyup消息马上打印出来,放开之后,没有keyup消息再打印出来


就是1L所说的,要从驱动入手
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表