CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

在窗口的key事件中处理非按键事件

楼主WheatH(左拥右抱游漓江)2002-07-25 19:33:47 在 PowerBuilder / 基础类 提问

 
          一般来说,应用程序在窗口的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

相关问题

  • 关于按键事件的处理
  • 请教:在Memo中的KeyDown事件中处理按键?? 解答定给高分
  • 事件处理
  • 单片机的按键如何处理?
  • 怎样获取Esc按键的处理?
  • 对话框按键的处理问题
  • 怎样响应键盘按键事件?
  • GameCanvas里的按键事件捕获
  • commad按键事件(初级问题)
  • 向edit发送按键事件

关键词

  • 扫描
  • 条码
  • longparm
  • key事件
  • 判断
  • xiongxiao
  • 事件
  • 枪
  • 传递
  • 值

得分解答快速导航

  • 帖主:WheatH
  • pbworm
  • hjd_cw
  • xiongxiao

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo