原创 LabVIEW按键输入设置

2008-7-3 11:05 6454 3 3 分类: 测试测量
Acquiring User Input


1)我想实现的程序是,单击一个控件时,做一件事情;双击它时,做另外一件事。 
如果VC,有single click和double click两个事件,比较方便。可是LabVIEW没有single click事件。我只能用mouse up或者mouse down来代替。但它们在我双击时也会产生,这不是我想要的。我现在的解决办法是mouse up事件被触发时,启动一个延时,比如说100毫秒。如果100毫秒内有double click事件发生,则取消延时,处理double click事件。当延时结束,还没有double click事件发生则看作是single click事件发生。 
这种做法有个问题,就是延时到底设多少才好呢?Windows的double click时间间隔是可以由用户修改的。我在我的机器上设置延时100毫秒可以运行,可能拿到用户那里就出错了。 
选择mouse down或mouse down?后在事件处理框中有事件属性可以设置,MOD中可以选择Double Click
如果不是老兄提起,还真没注意这个问题,居然没有double click时间(只有个别控件有),我想可能LabVIEW为了模拟真实仪器不提供的。对于你的问题,有个笨方法,使用注册表VI查找鼠标的双击数度HKEY_CURRENT_USER\Control anel\Mouse下DoubleClickSpeed。LabVIEW有注册表的例子


2)我知道如何得到dobule click的事件,问题是如何得到single click事件。(dobule click的第一次按键不应触发此事件) 


knowledge base里面有关于double click事件的example program。


affix.gifClick.vi




为控件按钮设置快捷键


1)能否设置成将 control或者Alt加上某个大写字母的,而不是加上F1,F2等等


advaced>key navigation,但里面可设定的快捷键是规定好的,不能自己定义.


可以用 EVENT STRUCTURE 
还有一个愚蠢的办法,先看附件。 
先响应功能键,再响应其他键,再把它们组合起来去响应其他的菜单或命令。注意应该把它放在一个单独的、外层 LOOP 





重新输入1)就是在密码错误的情况,在想重新输入密码时,使用结点属性那个好呢?2)总是想把鼠标在“确认”上的动作加进去,所以问题有出现了:在输入完密码之后如果直接点击“确认”,则程序可以继续运行,如果不这样,即鼠标先点击了其他地方,然后再点击“确认”,似乎程序已经不认这个点击了,所以程序不能继续运行下去。同样地,后面那个“退出系统”也是一样的毛病!3)在上面的基础上,在里面那个event case外面加一个while loop还是不行,鼠标在“确认”上的动作还是没用。 是不是event case不能这么嵌套使用? 
20061227164738.jpg


affix.gif解决方案.vi


affix.gif解决方案1.vi 


affix.gif解决方案2.vi


affix.gif问题1.vi

affix.gif问题2.vi

文章评论0条评论)

登录后参与讨论
我要评论
0
3
关闭 站长推荐上一条 /2 下一条