PB powerbuilder 数据库窗口DW中下拉窗口、子数据窗口响应事件
数据库窗口中相应鼠标点击、键盘移动等操作都有全面的事件进行支持,但是下拉数据库窗口的相关事件就不太明朗。
比如图中,下拉窗口“新增用途”如何相应鼠标点击操作,很多PB新手可能就一时找不到头绪了。
数据库窗口DW中下拉窗口、子数据窗口响应事件的方法。
1、需要使用到自定义事件“pbm_command”
2、事件脚本如下:
string ls_object
integer ii_num
DataWindowChild ldwc_Child[]
GetChild('yt' , ldwc_Child[1])
GetChild('lqr', ldwc_Child[2])
GetChild('ghr', ldwc_Child[3])
for ii_num = 1 to 3
IF hwndchild = Handle(ldwc_Child[ii_num]) THEN
//通过‘hwndchild’来判断操作落在哪个子窗口上
CHOOSE CASE notificationcode
CASE 2048 // 焦点落在子窗口上
CASE 1281 // 子窗口被点击
ls_object = ldwc_Child[ii_num].GetObjectAtPointer()
//确定操作相关的对象
ls_object = left(ls_object,pos(ls_object,'~t') - 1)
if ls_object = 't_open' then
choose case ii_num
case 1
open(w_edit_sjcyt)
ldwc_Child[ii_num].settransobject(sql_kf)
ldwc_Child[ii_num].retrieve()
case 2,3
open(w_select_sjcsyr)
ldwc_Child[ii_num].settransobject(sql_kf)
ldwc_Child[ii_num].retrieve(gs_gsbm)
end choose
end if
CASE 2314 // 子窗口被鼠标右键点击
CASE 2311 // 鼠标滑过子窗口
END CHOOSE
exit
END IF
next