pb数据窗口回车替换Tab,上下键的处理.:
在datawindow中见userevent 选择pb_dwnprocessenter 事件名称key;代码如下:
if keydown(keyenter!) then
Send(Handle(this),256,9,Long(0,0)) //发送TAB键
Return 1 //取消原ENTER键的动作
end if
使用windwosuser32.dll
声明全局函数:
//global external functions 中定义一个API:
Subroutine keybd_event(int bVk,int bScan,ulong dwFlags,ulong dwExtraInfo) LIBRARY "user32.dll"
再在datawindow建一事件ue_keydown 代码如下:
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
一切ok