PB powerbuilder 資料庫視窗DW中下拉視窗、子資料視窗響應事件
阿新 • • 發佈:2018-12-14
資料庫視窗中相應滑鼠點選、鍵盤移動等操作都有全面的事件進行支援,但是下拉資料庫視窗的相關事件就不太明朗。
比如圖中,下拉視窗“新增用途”如何相應滑鼠點選操作,很多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