2017年自考《物流软件开发工具》章节复习题:用户自定义事件
1. 用户对象有哪几种?如何创建与使用?
答:在PowerBuilder中用户对象分为两类:可视用户对象(Visual User Object)和类(非可视)用户对象(Class User Object)。可视用户对象又分为标准可视用户对象、定制可视用户对象、外部可视用户对象。类用户对象又分为标准类用户对象和定制类用户对象。
在PowerBuilder中,单击PowerBar工具条栏中的【New】图标,在弹出的对话框中选择【PB Object】标签页,选中要创建的用户对象的类型,单击【OK】按钮即可创建用户对象。
【Standard Visual】项创建标准可视用户对象;【Custom Visual】项创建定制可视用户对象;【External Visual】项创建外部可视用户对象;【Standard Class】项创建标准类用户对象;【Custom Class】项创建定制类用户对象。
可视用户对象同其他控件一样放置到窗口或其他定制可视用户对象上使用,类用户对象则需要在代码中通过编写程序同其他系统类一样来使用。
2. 为什么要使用用户事件?怎样创建和使用用户事件?
答:用户事件是用户给PowerBuilder 的窗口对象或窗口上的控件对象定义的除标准事件之外的事件。在下列情况下经常使用用户事件:
(1) 窗口与用户对象之间的通信。窗口和用户对象之间可以通过用户事件进行通信。
(2) 按键处理问题。应用程序需要截获除标准事件之外的操作信息。
(3) 代码放置的合理性。比如前面介绍菜单时曾经说过,菜单是一个相当脆弱的对象,尽量不要在它上面放置过多的代码。如果要对某些菜单项做一些复杂的操作,可以在拥有这个菜单的窗口上定义一个相应的用户事件。然后只要在该菜单项的Clicked事件中触发窗口相应的用户事件就可以了。在这种情况下,对用户事件的定义更加简单。因为它根本不需要自动触发,所以不需要定义它的事件标识。
要创建用户事件,首先在Windows画板中选中一个对象,可以是当前打开的窗口对象或窗口上的一个控件对象。然后选择【Insert】|【Event】命令,PowerBuilder将打开一个名为“Untitled”的窗口,用于创建一个用户事件。用户可以在其中修改这个用户事件的名字、返回值类型、参数信息和权限,它们的操作界面和函数画板的窗口完全相同。
定义用户事件后,就需要设计事件处理程序。就像其他系统常用事件一样,没有事件处理程序,即使发生了该事件,应用程序也不做任何处理。如果使用的是PowerBuilder提供的标准事件标识,那么它会在该标识对应的操作进行时被触发。如果PowerBuilder没有使用任何事件标识,那么它永远不会自动触发,只能用户自己编程对它进行触发。