等级:新手上路 财产: 经验: 魅力: 注册:2003-6-30 文章:4 鉴定:保密
| |
| 假设dddw列列名为,the_test,如下: 1、自定义事件ue_pbmcommand,选择event_id为pbm_command,定义一instance变量 string is_object 2、编写脚本DataWindowChild ldwc_Child GetChild( "the_test", ldwc_Child ) IF hwndchild = Handle( ldwc_Child ) THEN CHOOSE CASE notificationcode CASE 2048 // RowFocusChanged on DDDW CASE 1281 // Clicked IF is_object = 按钮名称 THEN //按钮单击处理 END IF CASE 2314 // Right Mouse Button Clicked CASE 2311 // MouseMove is_object = ldwc_Child.GetObjectAtPointer() END CHOOSE END IF 3、原理: 在PB6.0(^)中,pbm_command带3个参数,其中hwndchild(long)与notificationcode(unsignedinteger)即DDDW的Handle和Event ID。 ⒉DDDW 的Event ID 列表: Event Event ID ------------------------------- Clicked 1281 RowFocusChanged 2048 RightMouseButtonDown 2314 Left Button Up 2313 Retreive End 769 MouseMove 2311 ... 至于问题中的上下滚动,倘为键盘,将导致行焦点改变(此外,还导致一个ID = 2049的事件): RowFocusChanged 2048 倘为鼠标点击滚动条上下按钮: PageUp/PageDown 2339 4、以上脚本在pb7、win2000下调试通过 | |
|