全部博文(105)
分类: 数据库开发技术
2012-04-27 10:25:55
用代码触发事件时,可以使用函数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中.