触发事件
函数作用:触发指定对象的指定事件,并立即执行该事件中的脚本。 请注意此函数和PostEvent的区别。 PostEvent不是立即执行的,TriggerEvent是立即执行触发事件的脚本。
函数语法: objectname.triggerevent(event ),word,long } ) ) ) ) ) ) )。
z objectname:PB中的任何对象或控件都可以有可触发的事件。
z event :要触发的事件。 可以是枚举类型或字符串类型。 PB提供的事件可以用枚举或字符串型表示,例如Clicked! 或者" Clicked "可以表示Clicked事件; 自定义的用户事件只能用字符串表示。 应该注意的是,这里的事件应该提供了脚本。
z word :此参数不是必需的。 如果需要将数据传递给触发的事件,请使用word和long参数。 两个参数都可以传递long类型的数据,但参数long也可以传递字符串类型的数据。 此参数只能传递long类型的数据。 此参数用于接收在触发的事件中使用Message.WordParm传递的数据。 如果不使用此参数传递数据,则使用参数long传递时,该参数将设置为0。
z long :此参数也不是必需的,并且用于传递long或string类型的数据。 使用Message.LongParm接收传递的数据。 传递string类型的数据时,对象Message.LongParm包含传递数据的存储地址,因此必须使用string(xx,’address )读取该地址的string类型的数据BR返回值:整数类型。 返回1表示函数执行成功。 如果指定的事件没有脚本,或者
如果函数执行错误,则返回-1。 如果任何参数为Null,函数返回Null。
代码示例:
示例1,触发默认事件:
CB_1.TriggerEvent(Clicked! )
等效于:
CB_1.triggerevent(「clicked”)
示例2,触发用户定义的事件:
w_main.triggerevent(「UE_open”)
例3、信息的传递和接收:
w_main.triggerevent(“UE_open”,0,“test’) ) ) ) ) ) ) ) )。
在用户定义的事件ue_open中接收数据:
string ls_msg
ls_msg=string(message.longparm,’address’) )
示例4,传递长数据:
w _ main.trigger event (‘UE _ open’,100,0 ) ) ) ) ) ) ) ) ) ) ) ) )。
在用户定义的事件ue_open中接收数据:
long ll_msg
ll_msg=Message.WordParm