pb中如何用回车键代替tab键在窗体上转移控件焦点,我是pb新手,希望各位高手指教

pb中如何用回车键代替tab键在窗体上转移控件焦点,我是pb新手,希望各位高手指教,第1张

先编辑控件的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顺序,但有一列光标跳不过等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10206636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存