一、enter实现tab:
1、在DW中:
在数据窗口声明用户事件UE_PROCESSENTER,事件ID:pbm_dwnprocessenter。
脚本例子:
if this.accepttext()=1 then
send(handle(this),256,9,long(0,0))
end if
return 1
2、控件中:
在数据窗口声明用户事件UE_enter,事件ID:pbm_keydown。
脚本例子:
if keydown(keyenter!) then
cb_1.setfocus()
end if
3、窗口中:
窗口的key事件中:
脚本例子:
声明:SUBROUTINE keybd_event(int bVk,int bScan,int dwFlags,int dwExtraInfo) library "user32.dll"
If key = KeyEnter! Or Key = KeyDownArrow! Then
keybd_event ( 9, 0, 0 , 0 ) // 按下tab
keybd_event ( 9, 0, 2, 0 ) // 释放tab
Return 1
End If
二、Arrow键实现tab和shift_tab的功能:
1、在DW中:
在数据窗口声明用户事件UE_arror,事件ID:pbm_dwnkey。
脚本例子:
声明:SUBROUTINE keybd_event(int bVk,int bScan,int dwFlags,int dwExtraInfo) library "user32.dll"
Choose Case key
Case Keyrightarrow! //right key 取代 tab key
if this.position()=len(gettext()) + 1 then
keybd_event(9,0,0,0)
keybd_event(9,0,2,0)
end if
Case Keyleftarrow! //left key 取代 shift_tab
if this.position()=1 then
keybd_event(16,0,0,0)
keybd_event(9,0,0,0)
keybd_event(16,0,2,0)
keybd_event(9,0,2,0)
end if
End Choose