先编辑控件的TabOrder顺序,然后在 global external functions 中定义一个API:
Subroutine keybd_event(int bVk,int bScan,ulong dwFlags,ulong dwExtraInfo) LIBRARY "user32dll"
在窗口的key()事件中写如下代码:
If key = KeyEnter! Or Key = KeyRightArrow! Then
keybd_event( 9,0,0,0 ) // 按下tab
keybd_event( 9,0,2,0 ) // 释放tab
Return 1
End If
If Key = KeyleftArrow! Then
keybd_event( 16,0,0,0 ) // 按下shift
keybd_event( 9,0,0,0 ) // 按下tab
keybd_event( 9,0,2,0 ) // 释放tab
keybd_event( 16,0,2,0 ) // 释放shift
Return 1
End If
测试成功的。
你的意思是不是焦点到数据窗口中的某列时,该列中的值是选中的?
如果是的话,两点 *** 作:
数据窗口属性中的Mouse Selection勾上
该列的EDIT属性的Auto Selection勾上
当然,该列的Tab Order不能是0
首先你设置的TAB序正确性,然后在数据窗口中自定事件:event ID:PBM_dwnkey
事件中设置:
//回车键及下箭头键下移焦点
If key = KeyEnter! Or Key = KeyDownArrow! Then
keybd_event ( 9, 0, 0, 0 ) // 按下tab
keybd_event ( 9, 0, 2, 0 ) // 释放tab
Return 0
End If
还有就是你要跳转到的列不能是计算列,它的前一列没有设置其他列为当前列。
tab_1control[1] = tab_1control[upperbound(tab_1control[])]
for li_i = upperbound(tab_1control[]) to 2 step -1
tab_1control[li_i] = tab_1control[li_i - 1]
next
//置换下control[],应该就可以了
以上就是关于pb中如何用回车键代替tab键在窗体上转移控件焦点,我是pb新手,希望各位高手指教全部的内容,包括:pb中如何用回车键代替tab键在窗体上转移控件焦点,我是pb新手,希望各位高手指教、pb中如果选中数据窗口中当前列中的数据求大神指点!、PB datawindow 设置了TAB顺序,但有一列光标跳不过等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)