【PB】如何触发带参数的自定义事件?

用代码触发事件时,可以使用函数triggerevent()/Postevent()

而在触发带参数的自定义事件时,则按以下方法最好:

语法:

objectname.{trigger|post} {static|dynamic} EVENT EventName ({argumentlist})

其中:

objectname 是事件所属对象的对象名

Trigger/Post只能选一个,也可不选,缺省时为Trigger. Trigger表示立即执行指定事件,然后再执行该语句后面的代码;Post表示将该事件放置到对象的事件队列中,然后继续执行该语句后面的代码,至于发出去的事件的事件处理程序何时执行,由操作系统决定.

Static/Dynamic只能选一个,缺省时为Static. Static表示编译时指定事件必须存在,系统要进行返回值类型检查; Dynamic表示编译时指定事件可以不存在,系统把返回值类型检查推迟到应用程序运行时进行.

EVENT是关键字,表示后面的EventName是个事件名,而不是函数.

argumentlist是事件参数列表,多个参数时参数之间用逗号分隔.

上述语法格式中,{Trigger|Post},{Static|Dynamic} 和EVENT的先后次序可任意旋转,大括号表示该成分可以省略.

例:  w_main.trigger event ue_dellimit(0)

上句表示触发w_main窗口对象的自定义事件ue_dellimit,事件参数为0 ,省略了关键字 Static/Dynamic,缺省为 Static

而Triggerevent/Postevent也能做到,但目的不一样,Triggerevent/Postevent可带入参数,但参数保存到全局对象Message中的WordParm/LongParm中

你可能感兴趣的:(【PB】如何触发带参数的自定义事件?)