技术盘点之VB6事件机制
来源:互联网 发布:ajax跨域请求xml数据 编辑:程序博客网 时间:2024/05/01 21:11
第一种场景:
主表单调出客户列表表单选择一个客户
流程:用户单击主表单相应控件调出客户列表表单,选择一个客户,被选中的客户数据返回给主表单。
代码解释:
a. 主表单mainform声明一个私有的客户列表表单CustomerList,WithEvents关键字表明该对象可以触发事件。
b. 公开一个“被选择”事件,参数为一个客户对象实例。
c. optType控件单击事件的事件处理子过程。单击调出客户列表表单。(这里也涉及一事件,比较底层,稍后再讨论)
d. 加载表单,等待用户交互。
e. 客户列表单击事件处理子过程,这里是关键,使用RaiseEvent关键字Generate事件。事件发生后,所有注册了该事件的事件处理子过程将会执行。
f. 客户列表表单的客户选择事件在主表单的处理子过程,亦即所谓的“事件处理器”event handler.(事件处理过程的是名字是object_event(e),VB对事件处理过程不需要显式注册关联,它会auto wireup for us!!)
第二种场景:
员工数据编辑表单的数据合法性验证
流程:加载员工数据编辑表单对员工数据进行编辑,编辑员工号时触发员工对象属性PropertyLet过程(1),PropertyLet过程再触发数据验证(2),最后把验证布尔返回给员工数据编辑表单(3)。
代码解释:
a. 员工数据编辑表单“把持”一个私有的员工类对象实例,WithEvents关键字表明员工类对象实例可以触发事件。
b. 员工类公开一个“数据验证”事件,参数为一个布尔值。表明是否合法
c. txtEmployeeNo控件change事件的事件处理子过程,更改员工号。
d. 更新员工类对象实例的员工号字段,并按需调用验证子过程。
e. 完成自定的验证规则,并把验证结果用作事件的参数通知各注册事件的客户。
f. 员工数据编辑表单是这里唯一的注册事件的客户,根据员工号的合法性来判定是否允许提交该表单
总结
“事件”机制是子程序使用的“高级”形式,是为了实现异步调用机制,不是语言核心的新内容。
<html>
<body>
<ul onclick=this.removeChild(li1)>我是ul
<li id=li1>01
<li id=li2>02
</ul>
</body>
</html>
回调通知callback notifications
回调是一种notion,一种编程想法或概念;通过回调机制,程序的一部分代码可以对外发出通知,告知程序其它部分代码有“某事”发生了(该部分代码会作出相应动作)。简单点说,回调就是这样的一个过程:程序里有那么一些特定方法(一个或多个),它们由事件源来执行。
- 技术盘点之VB6事件机制
- 技术盘点之TSQL
- 事件与事件流技术盘点
- 技术盘点之“耕”在wangdie
- 技术盘点之自考自做
- Android之事件机制
- Unity之事件机制
- 安卓事件处理1之监听器盘点
- vb6中的hook技术
- VB6子类技术
- 2011年几大宕机事件盘点
- Android技术之View的事件分发机制和滑动冲突解决方案
- 2013 前端技术盘点
- 前端web 技术盘点
- 无人驾驶技术盘点
- 运维技术盘点
- 运维技术盘点
- NGUI插件技术(OnClick事件机制)
- 注册文件类型,关联文件
- IBM向左走,联想向右走
- LINUX下软件包在线更新-yum和apt的应用
- .NET中各种数据库连接大全
- MQ java 编程sample codes by ibm
- 技术盘点之VB6事件机制
- 开发工程师人生之路
- 如果让李敖娶了芙蓉
- 怎么样配置JSP运行环境
- [收藏]大话西游的三个人生片段
- 上下拉电阻的用法
- 用java发送lotus邮件一个完整例子
- Keiko Matsui 松居庆子
- my procedure :)