发布网友 发布时间:2022-04-27 12:25
共2个回答
热心网友 时间:2023-09-19 02:41
1、在用Tab键移动光标时,是按照 CVI自动根据.uir文件生成的那个.h文件中定义的控件ID移动的,打开那个.h文件你会看到#define PANEL 1 #define PANEL_…… n(n是整数,为控件ID),光标就是在可被光标选中的控件间按照这个ID顺序循环移动的。追答 对于问题补充:
1、由于具体下来比较长,对于控制Tab键移动范围,以及用键盘方向键“↑ ↓ ← →”键移动光标选中控件,我写了一篇图文结合的博文 http://blog.sina.com.cn/s/blog_641e05f40101b2nv.html ,有兴趣可以参考。
2、ATTR_CTRL_TAB_POSITION属性的设置格式是:SetCtrlAttribute(panel句柄,控件ID,ATTR_CTRL_TAB_POSITION,n),n是从0开始的非负整数序列,要自定义。当给一系列控件设置该属性时,按Tab键将按照n的值从小到大一次移动光标。更好的方法还是直接改控件ID,但是不能手动在 .h 文件中该,编辑控件的Tab Order可以让CVI自动按顺序改控件ID。见1中链接博文。
3、该问题在更改CVI控件默认属性中没有找到,可以在panel回调函数中EVENT_KEYPRESS下用代码来实现,只是按键后只会激活Ring控件的Label,并不会弹出选值序列,效果跟在Label框中命名控件时(__A),然后运行时按Alt + A 效果一样。
4、尚未找到合适的简单解决方案,建议你多到NI的Labwindows/CVI论坛或其他的labwindows论坛看一看。
有问题可继续一块儿探讨。
望采纳。
热心网友 时间:2023-09-19 02:41
各位大侠: