阅读:1526回复:5
WinCE4.2 Touch Panel问题!
我的touch panel驱动在WinCE4.1下工作正常,但在WinCE4.2下就会出现鼠标光标有时会消失的情况,那位高手有见过类似的现象,帮忙分析一下嘎!:)
|
|
论坛版主
|
沙发#
发布于:2004-12-29 14:18
你得LCD驱动是怎么处理的?显示缓冲区的内容怎么送到LCD?
|
|
板凳#
发布于:2004-12-30 09:16
我用的是SM501,关于显示缓冲区送到LCD部分是由SM501本身自动完成的(只要配置好501的与LCD的同步信号等),我想问题不是出在这里。
当touch panel产生Down事件时,Gwes会调用DrvSetPointerShape来对光标进行hide操作,按照正常逻辑当touch panel产生up事件时,Gwes也会调用DrvSetPointerShape来重新将光标显示出来,我现在的问题是我的touch panel产生down事件导致gwes调用了DrvSetPointerShape将光标隐藏了起来,但当我的touch panel产生up事件后gwes却并没有去再次调用DrvSetPointerShape来恢复光标的显示。 同样的touch panel驱动和显卡驱动在同样的硬件版上我利用WinCE4.1就没有这个问题,是不是4.2本身就有这样的问题呢? |
|
论坛版主
|
地板#
发布于:2004-12-30 13:57
嗯,我是想知道你的LCD显示数据是不是自己传的,如果自己定时传,而且是检查到有显示缓冲更新才传的话就有可能没把鼠标刷出来。
按兄弟的说法,你要看看你的触摸屏的UP事件是怎么检测的,UP事件需要专门的硬件支持,如果硬件不支持的话,需要起一个TIMER定时检测。我这边是这么做的,工作得不错,你可以试试 |
|
地下室#
发布于:2004-12-30 17:35
我的touch panel的up事件是一定有的了,这个我用Debug版跟踪touch panel驱动可以验证,奇怪的是并不是每次光标都无法显示,当我点击一个图标,并按住一段时间后再放开,这个时候的up事件就可以让gwes调用DrvSetPointerShape来重新显示光标,如果我快速点击图标,up事件虽然通知了Gwes,但gwes也不会调用DrvSetPointerShape来实现光标的重画,另外无论我怎样点击空白区(没有图标的地方按住一段时间再放开或者快速点击),产生的up事件虽然都通知了gwes,但gwes就是不去调DrvSetPointerShape来重画光标,WXL,辛苦您了,帮忙分析一下:)
|
|
论坛版主
|
5楼#
发布于:2004-12-31 15:15
这个这个...
兄弟,那有时间我再试验一下,我这边做出来的我记得一些现象: 如果不点击图标和控健,点桌面的空白区,光标是不会重画,会停在原来的地方 而你快速点图标那图标的应用会打开啊,是不是认成了双击事件才不重绘的? |
|