函数PostEvent、triggerevent详解

函数PostEvent、triggerevent详解PostEvent 函数作用 在事件队列最后追加指定的事件 函数 Triggerevent 是在事件队列的当前位置插入指定的事件 所以 这两个函数是有区别的 事件立即执行时使用函数 TriggerEvent 没有必要立即执行时使用函数 PostEvent 两者都是触发指定的事件 这是它们功能上的类似点 函数语法 objectname PostEvent event w

PostEvent

函数作用:在事件队列最后追加指定的事件。函数Triggerevent是在事件队列的当前位置插入指定的事件。所以,这两个函数是有区别的。事件立即执行时使用函数TriggerEvent,没有必要立即执行时使用函数PostEvent。两者都是触发指定的事件,这是它们功能上的类似点。
函数语法: objectname.PostEvent ( event, { word, long } )
Objectname:除Application对象以外的任何PowerBuilder对象的名称。
event:可以是枚举类型,也可以是字符串,用来指明要触发的事件。当使用枚举型时,程序编译可以对合法性进行检查,而使用字符类型时不能进行正确性检查。所以,这时编写程序时应该非常仔细,确保字符类型的事件名称是正确的。
word:该参数不是必需的。当需要传递数据给被触发的事件时使用word和long参数。这两个参数都可以传递long类型的数据,但是参数long还可以传递string类型的数据,而该参数仅能传递long类型的。如果使用了该参数,在被触发的事件中使用Message.WordParm接收传递过去的数据。如果不使用该参数传递数据而是使用参数long进行传递,则将该参数设置为0。
long:该参数也不是必须的,用来传递long或者string类型的数据。使用Message.LongParm接收传递的数据。当传递string类型的数据时,对象Message.LongParm中保存的是所传数据的存储地址,必须使用string(XX,’address’)来读取该地址中的string类型数据。
返 回 值: Boolean类型。函数执行成功,则返回True;如果执行失败,或者指定的事件不存在,或者指定事件中没有编写脚本,则返回False。如果任意参数为Null,则返回Null。
代码实例:
例子1,触发缺省事件:
cb_1.PostEvent(Clicked!)
等价于:
cb_1. PostEvent(“Clicked”)
例子2,触发用户自定义事件:
w_main. PostEvent(“ue_open”)
例子3,传递信息和接收信息:
w_main. PostEvent(“ue_open”,0,’test’)
在用户自定义事件ue_open中接收数据:
string ls_msg
ls_msg = String(Message.LongParm,’address’)
例子4,传递long数据:
w_main. PostEvent(‘ue_open’,100,0)
在用户自定义事件ue_open中接收数据:
long ll_msg
ll_msg = Message.WordParm






















 
 
 

Triggerevent

函数作用:触发指定对象的指定事件,并且立即执行该事件中的 脚本
。注意该函数和PostEvent的区别。PostEvent不是立即执行,TriggerEvent是立即执行触发事件的 脚本
函数语法:objectname.TriggerEvent ( event {, word, long } )
z objectname:PB中任何对象或者控件,只要有可以触发的事件就可以。
z event:要触发的事件。可以是枚举类型或者String类型。PB提供的事件可以使用枚举或者String类型来表示,比如Clicked!或者‘Clicked’都可以代表Clicked事件;自定义的用户事件只能使用String来表示。需要注意的是,这里的事件应该提供了 脚本
z word:该参数不是必需的。当需要传递数据给被触发的事件时使用word和long参数。这两个参数都可以传递long类型的数据,但是参数long还可以传递string类型的数据,而该参数仅能传递long类型的。如果使用了该参数,在被触发的事件中使用Message.WordParm接收传递过去的数据。如果不使用该 参数传递
数据而是使用参数long进行传递,则将该参数设置为0。
z long:该参数也不是必须的,用来传递long或者string类型的数据。使用Message.LongParm接收传递的数据。当传递string类型的数据时,对象Message.LongParm中保存的是所传数据的 存储
地址,必须使用string(XX,’address’)来读取该地址中的string类型数据。
返回值:Integer类型。如果返回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,传递long数据:
w_main.TriggerEvent(‘ue_open’,100,0)
在用户自定义事件ue_open中接收数据:
long ll_msg
ll_msg = Message.WordParm

 
 
原文:http://chbin95233.blog.163.com/blog/static/0/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216041.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午12:42
下一篇 2026年3月18日 下午12:42


相关推荐

  • 字节跳动AI大战复盘:全场景探索、多模型筑基、生态化布局

    字节跳动AI大战复盘:全场景探索、多模型筑基、生态化布局

    2026年3月12日
    2
  • 循环队列的顺序存储结构Java

    循环队列的顺序存储结构Java循环队列的顺序存储结构在上次,我们讲到的是,队列的顺序存储结构也是由ArrayList实现的,从此就可以看出,在入队时候的时间复杂度为O(1),但是在出队时候的时间复杂度为O(n),这是因为,每次在出队后要将数组后面的有效元素前移一位。所以,这里就会用到循环队列,显然,这种队列也是顺序存储结构,在这个循环队列中也会去实现接口Queue。首先,我们要想到的是如何将一般的队列改变为循环队列。…

    2022年5月16日
    46
  • 学田岛电脑绣花制版新人上手教程之一

    学田岛电脑绣花制版新人上手教程之一如何启动 DG ML 花样设计软件 用鼠标器双击 Windows 桌面的 DG ML 花样设计软件快捷图标 另一种方法是从 Windows 的任务栏的开始菜单中选择程序 TajimaDG ML 花样设计软件 屏幕上将显示 DG ML 花样设计窗口 并自动产生一个新花样设计 如何创建一个新的花样设计 从文件菜单中选择新建命令

    2026年3月26日
    2
  • 微信云开发小程序集成 vant

    微信云开发小程序集成 vant微信云开发小程序

    2025年11月22日
    4
  • C#面试题集_c++面试题库

    C#面试题集_c++面试题库//题目:找出字符串中出现次数最多的字符及出现次数publicstaticvoidFun(){stringstr=”iamamandag!”;Dictionaryd=newDictionary();for(inti=0;i

    2022年8月29日
    4
  • linux usb urb,linux usb urb详解

    linux usb urb,linux usb urb详解linuxusburb 详解谨以此文纪念过往的岁月一 前言在前文中看过了 hub 的驱动以及 host 的驱动还有 usb 设备的驱动 在把这些东西关联起来的东东中 一个很重要的 urb usbrequestbl 在本文中会详细来看 urb 的实现 以及具体的应用 二 Urburb 是什么东西 那先来看 urb 的定义吧 1structurb2 3 私有的 只能由 usb 核心和主机控制器访问的字段 4str

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号