PowerBuilder实用教程第9章 用户自定义事件.pptxVIP

  • 45
  • 0
  • 约5.33千字
  • 约 23页
  • 2020-05-22 发布于江苏
  • 举报

PowerBuilder实用教程第9章 用户自定义事件.pptx

PowerBuilder实用教程(第5版)第9章 用户自定义事件——定义用户事件在下列情况下经常使用用户事件。(1)解决对象与窗口之间的通信问题。用户事件可以通过参数进行信息传递。(2)响应特殊操作,这些操作没有相应的PowerBuilder预定义事件。例如,大多数的人都习惯于在每项数据录入后按【Enter】键,转到下一个输入项。但在Windows环境下,系统都是默认使用【Tab】键或【Shift+Tab】键转换到下一个数据项或上一个数据项,而用户按【Enter】键,系统会将焦点转到下一条记录的第一个输入项上。(3)支持用户通过多种方式完成同一个功能。例如,既允许用户通过单击窗口中的按钮完成,也允许用户通过选择选单项完成。使用用户事件后,就只需要在一个地方编写代码,在需要使用该功能的地方触发相应的用户事件就可以了。定义用户事件事件是从属于某个对象的,因此定义用户事件,首先要选定所在的对象,然后打开“Script”窗口,再选择“(New Event)”,如图9.1所示,将出现事件定义窗口,如图9.2所示。定义用户事件在图9.2中,用户事件名和用户事件号是必须要输的,其他则由用户决定。为区别于系统预定义事件,用户事件名一般以“u_”或“ue_”为前缀。可以为用户事件定义参数及返回值。在“Return Type”中选择返回值类型,在“Argument Type”中选择参数类型,在“Argument Name”中输入参数名。在图9.2中,单击鼠标右键,将弹出一个选单,如图9.3所示,可以增加参数(Add Parameter)、插入参数(Insert Parameter)和删除参数(Delete Parameter)。PowerBuilder实用教程(第5版)第9章 用户自定义事件——用户事件号用户事件号PowerBuilder没有提供事件标记的说明手册,但大部分可以从标记名推断其含义。表9.1列出了部分常用事件标记的前缀及其含义,表9.2.docx表表9.2.docx9.2表9.2.docx列出了部分常用事件标记及其含义。前 缀含 义前 缀含 义pbm_cb通用对话框消息pbm_lb列表框pbm_dw数据窗口pbm_lv列表视图(Listview)pbm_dde动态数据交换(DDE)pbm_tv树形视图(Treeview)pbm_e编辑控件pbm_窗口PowerBuilder实用教程(第5版)第9章 用户自定义事件——删除用户事件删除用户事件定义的用户事件号及名称不能更改,只能删除。在该事件的代码编辑窗口单击鼠标右键,将弹出一个选单(如图9.4所示),选择“Delete Event”,将删除该事件。要注意的是,PowerBuilder对该删除操作不做提醒,一经选择“Delete Event”,就立刻删除。PowerBuilder实用教程(第5版)第9章 用户自定义事件——触发用户事件触发用户事件触发用户事件有三种格式,前两种是介绍控件时已介绍的两个函数:object_name.TriggerEvent(event_name)object_name.PostEvent(event_name)其中,object_name为对象名;event-_name为事件名,对系统事件而言,是枚举类型,如Clicked!等,对用户自定义事件而言,是一个字符串。例如:w_1.TriggerEvent(Clicked!) //触发窗口“w_1”的鼠标单击事件w_1.TriggerEvent(u_key) //触发窗口“w_1”的用户自定义事件u_key在定义用户事件时,可以定义事件参数。但TriggerEvent和PostEvent不能带事件参数(但可以为Message传送用户消息),因此需用下面的格式触发:object_name. [Trigger | Post] [Static | Dynamic] EVENT event_name( [para_list] )触发用户事件如果用户事件定义了参数,则只能使用上述格式触发事件,而不能使用函数TriggerEvent()或PostEvent ()。例如:cb_1.EVENT Clicked() //触发控件“cb_1”的鼠标单击事件,等价于cb_1.TriggerEvent(Clicked!)w_1.Event u_display(4,math) //触发窗口“w_1”的用户自定义事件u_dispaly,它带两个参数。只能用这种方法触发。PowerBuilder实用教程(第5版)第9章 用户自定义事件——用户事件编程实例用户事件编程实例【例】命令按钮的用户事件编程。利用第5章中所创建的“XSCJ”数据库,设计如图9.5所示的窗口。希望当焦点落在命令按钮上时,按【Enter】键能够代替鼠标。在

文档评论(0)

1亿VIP精品文档

相关文档