【PB】Send 谁借莪1个温暖的怀抱¢ 2022-06-17 00:41 276阅读 0赞 Send() 功 能:向窗口发送指定的消息并立即执行相应的事件处理程序。 语 法:Send( handle, messageno, word, long ) 参 数:handle:long类型,指定窗口的系统句柄,将向该窗口发送消息; messageno:UnsignedInteger类型,指定要发送的消息号; word:long类型,指定与消息一起发送的word类参数值。如果messageno参数指定的消息不使用该参数,那么将这个参数的值设置为0; long:long类型或string,指定与消息一起发送的long型参数值或字符串。 返回值:Long。函数执行成功时返回Windows系统调用SendMessage()的返回值,发生错误时返回-1。如果任何参数的值为NULL,Send()函数返回NULL。 用 法:Send()函数用于向窗口发送非PowerBuilder预定义事件的消息,这个窗口可以是PowerBuilder应用的窗口,也可以是其它应用的窗口。Send()函数直接触发指定窗口相应的事件,执行事件处理程序后返回到调用应用中,这一点与Post()函数不同,Post()函数把发送的消息放置在指定窗口消息队列的尾部,然后返回到应用程序中,它并不等待相应事件事件处理程序的执行。因此,我们说Post()函数采用的是异步方式,Send()函数采用的是同步方式。 Send()函数的参数handle指定接收消息的窗口句柄,对PowerBuilder窗口来说,使用Handle()函数可以得到该句柄。对其它应用程序的窗口来说,可以调用系统API函数查找窗口并得到相应窗口的句柄。实际上,Send()函数把它的各个参数直接传送给Windows的系统调用SendMessage()。在各种C++开发工具的WINDOWS.H文件中可以查到各消息编号。 如果应用程序要发送PowerBuilder定义事件(包括预定义事件和用户定义事件),那么使用TriggerEvent()函数既简单有方便。 当应用程序在long参数位置指定一个字符串时,Send()函数复制一个该字符串的副本,然后将副本的地址传送给指定窗口。 示 例:1、下面的代码向窗口w\_date发送一个向下滚动一页的消息(消息号为277)。 Send(Handle(w\_date) , 277 , 3 , 0) 2、下面的代码触发命令按钮cb\_OK的clicked事件。 Send(Handle(parent) , 273 , 0 , Handle(cb\_OK)) Cb\_OK.TriggerEvent(Clicked!)
还没有评论,来说两句吧...