在窗口的key事件中处理非按键事件
一般来说,应用程序在窗口的key事件中调用keydown()函数,可以检测用户是否按了莫个特殊键。其中函数keydown(keycode)的参数keycode可以使枚举类型或integer类型。
我通过外设向当前窗口的key事件传递值255,现在我希望在窗口的key事件中是否接受了值255,在key事件中编码如下:
if keydown(255) then
messagebox("","")
.............
end if
但事实上根本就没有判断键值是否为255,messagebox消息框没有弹出.如果不加任何条件,在key事件中只有messagebox("","")一条语句,当使用外设向当前窗口的key事件传递值255时,消息框是可以弹出来的.
现在我该怎么这个问题,能通过条件语句判断值255?
---------------------
回家了,明早在结贴
问题点数:80、回复次数:12Top
1 楼pbworm(pb菜鸟)回复于 2002-07-25 20:34:55 得分 10
你怎么传递的啊Top
2 楼hjd_cw()回复于 2002-07-25 20:58:31 得分 40
可以通过message.wparam 和 message.lparam 来判断。Top
3 楼WheatH(左拥右抱游漓江)回复于 2002-07-26 10:33:04 得分 0
pbworm(pb菜鸟):
我做的是条码扫描系统,当用扫描枪扫描条码后自动向当前窗口的key事件中传递值255。我需要在此事件中判断扫描枪是否扫描了条码,并根据结果进行其他操作。
hjd_cw() :
我在key事件编码如下
if Message.LongParm=255 then
..........
end if
但好像没什么反应,不知道是不是我使用错误?请具体给我说说。
Top
4 楼WheatH(左拥右抱游漓江)回复于 2002-07-26 13:58:18 得分 0
up一下,请做过这方面的朋友给我说说。Top
5 楼WheatH(左拥右抱游漓江)回复于 2002-07-27 10:39:50 得分 0
怎么就没人知道呢?Top
6 楼xiongxiao(小雄)回复于 2002-07-27 11:44:38 得分 0
你将要传递的值放在一个全局变量中试试,
在KEY事件中检查这个变量.Top
7 楼WheatH(左拥右抱游漓江)回复于 2002-07-27 12:29:28 得分 0
xiongxiao(小雄)
我做的是条码扫描系统,当用扫描枪扫描条码后,扫描枪自动向当前窗口的key事件中传递值255。我需要在此事件中判断扫描枪是否扫描了条码,并根据结果进行其他操作。
Top
8 楼xiongxiao(小雄)回复于 2002-07-27 12:32:23 得分 30
原来是这样,那你把
if Message.LongParm=255 then
..........
end if
改成
if Key=255 then
..........
end if
试试Top
9 楼WheatH(左拥右抱游漓江)回复于 2002-07-27 14:34:12 得分 0
xiongxiao(小雄)
key为keycode类型
if key=255 then //这种写法是错误的Top
10 楼WheatH(左拥右抱游漓江)回复于 2002-07-27 14:36:18 得分 0
if keydown(255) then
...........
也不行Top
11 楼xiongxiao(小雄)回复于 2002-07-27 14:42:01 得分 0
那就应该是 if long(key)=255 thenTop
12 楼WheatH(左拥右抱游漓江)回复于 2002-07-27 15:07:20 得分 0
xiongxiao(小雄)
if long(key)=255 then //还是不行
不过现在我的问题解决了,在key事件中判断message.wordparm的值,我原先一直是判断message.longparm的值。
Top
13 楼WheatH(左拥右抱游漓江)回复于 2002-07-27 15:09:58 得分 0
xiongxiao(小雄)
你说的还是不行。
不过现在我的问题解决了,在key事件中判断message.wordparm的值,我原先一直以为是判断message.longparm的值。Top




