下拉数据窗口事件捕获

■   DDDW   事件概述

⒈所有对DDDW的操作都通过触发pbm_command事件完成

①   在PB的用户事件中,大多数事件对应的Windows   事件都有两个参数:lparam   和   wparam,而在PB5.0中,pbm_command没有参数,但可以通过message对象的两个属性取得Windows事件对应的Event   ID,这两个属性就是:   LongParm   和   WordParm。

LongParm   包含DDDW的Handle,用intLow()可取得其Handle

WordParm   包含对DDDW的操作,用intHigh()可取得其Event   ID

②   在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


⒊根据上述列表,就可以在   pbm_command   事件中判断对DDDW做了何种操作:


DataWindowChild   ldwc_Child


GetChild(   "Column ",   ldwc_Child   )


IF   IntLow(   Message.Longparm   )   =   Handle(   ldwc_Child   )   THEN  

CHOOSE   CASE   IntHigh(   Message.Wordparm   )

CASE   2048   //   RowFocusChanged   on   DDDW

CASE   1281   //   Clicked

CASE   2314   //   Right   Mouse   Button   Clicked

CASE   2311   //   MouseMove

END   CHOOSE

END   IF 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值