if intlow(ll_dddw) = handle(ldw_my) then
if IntHigh(ll_event) = 1281 then//1281为鼠标单击事件ID
ls_object = ldw_my.GetObjectAtPointer()
ls_temp = left(trim(ls_object),3)
Choose case ls_temp
case "b_1" //如果是增按钮
messagebox("提示","添加数据")
case "b_2"
messagebox("提示:","编辑数据")
Case "b_3"
messagebox("提示:","哈哈~~")
End choose
End if
End if
一、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
Choose Case Key
Case Keyenter!
send(handle(this),256,9,long(0))
Return -1
Case Keyrightarrow!
send(handle(this),256,9,long(0))
Case Keyleftarrow!
guf.Keybd_event(16,0,0,0)
guf.Keybd_event(9,0,0,0)
guf.Keybd_event(16,0,2,0)
guf.Keybd_event(9,0,2,0)
Case Keydownarrow!
guf.keybd_event(9,0,0,0)
guf.keybd_event(9,0,2,0)
Return -1
Case Keyuparrow!
guf.keybd_event(16,0,0,0)
guf.keybd_event(9,0,0,0)
guf.keybd_event(16,0,2,0)
guf.keybd_event(9,0,2,0)
Return -1
Case Keypagedown!
Return -1
Case Keypageup!
Return -1
End Choose