1 / 25
文档名称:

用户事件(ppt 25).ppt

格式:ppt   大小:1,033KB   页数:25页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用户事件(ppt 25).ppt

上传人:lu2yuwb 2021/6/21 文件大小:1.01 MB

下载得到文件列表

用户事件(ppt 25).ppt

相关文档

文档介绍

文档介绍:用户事件(ppt 25)
用户事件概述
PowerBuilder 的窗口、控件、用户对象等都有一组系统预先定义好的事件,在事件列表框中可看到这组事件。这些系统预定义事件能满足应用程序的大多数要求。但有时开发人员根据需要定义自己的事件,这类事件就称为用户事件 。
一、用户事件的使用场合
用户事件可通过参数与窗口进行信息传递 ;
响应特殊操作 ;
支持用户通过多种方式完成同一个功能 ;在需要使用该功能的地方触发相应的用户事件就可以了 ;
用户事件和用户定义函数十分相似,用户事件云用灵活也反映应用程序的灵活性 ;
二、用户事件定义
为窗口、控件、用户对象定义用户事件的方法都十分相似,其步骤为 :
S 1 : 用窗口画笔或用户对象画笔打开要定义用户事件的窗口或用户对象 ;
S 2 : 通过单击选择要定义用户事件的窗口、控件或用户对象 ;
S 3 : 从‘Declare’菜单中选择‘User Event’,
打开如图2-13所示的‘Event’对话框 ;
用户事件定义(接上页)
S 4 : 在事件列表框‘Event Name’列的最后一行键入用户事件名,该名称会出现在事件列表中,事件名应以 ue_开头 ;
S 5 : 如果用户事件对应于某个Windows消息,则可在该行‘Event ID’列的编辑框中键入事件标识,也可在‘PasteEventID’
列标框中双击相应的PB预定义事件 ;
S 6 : 若用户事件不对应 Windows 消息也可选择 PB 定制事件 ;
S 7 : 单击 ‘OK’按钮,关闭对话框 ;
讨论用户事件时,有几个问题需要注意 :
1 . 理解事件标识(Event ID)
事件标识是系统预先定义的标识符,它对应某个事件。PB 使用以 pbm_ 为前缀的事件标识,每个事件标识对应特定的Windows 消息。例如,pbm_mousemove
对应于 Windows 消息 wm_mousemove,而
Pbm_keydown 对应于 wm_keydown .
也可选择预先定义好的 pbm_custom 01 到pbm_custom 75 之间的定制事件 ;
讨论用户事件 (接上页)
2. 创建自定制事件
在 ‘Event Name’列键入事件名后就定义了自定制事件。此时,可为事件定义参数,其方法是 :
(1) 单击该列后面的 “ARG---”按钮,如图2—14所示的‘Event Declaration’对话框 ;
(2) 在 ‘Arguments’组框中定义事件参数 :
在‘Type’列选择参数类型;在‘Pass By’列选择参数传递方式;等 。
创建自定制事件(接上页)
(3) 用户事件返回从 ‘Return ‘列表框中选择返回值类型,几乎所有PB对象均可作为返回值返回,若缺省返回值,可如下解决方法 :
需在参数尾部增一参数,单击‘Add’按钮;
需在某参数前插入一个参数,单击‘Insert’
按钮;而欲删除某个参数单击该参数所在行,再单击‘Delete’按钮将其删除 ;
单击‘OK’关闭对话框 。

定义了用户事件后,完成下述工作,才能使用用户事件 :
编写用户事件的事件处理程序,没有处理程序,即使发生了该事件,应用程序也不能做任何处理 ;
必要时编写触发用户事件的代码 ;
若事件标识为pbm_mousemove的用户事件:ue_mousemove对应于Windows消息
Wm_mousemove,那么当相应动作在应用程序上发生时,该事件将被自动触发 。
使用用户事件(接上页)
如果用户事件不对应于任何Windows 消息,也即事件标识为空缺或pbm_custom01到pbm_custom75,则需用代码触发该事件(使用函数Trigger-Event()
或PostEvent (),也可使用下述语法 :
Objectname. [Trigger[Post] [Static [dynamic] RVENT EventName ([argumentlist])