OOP方法中对象对事件的反应

OOP方法中对象对事件的反应,第1张

OOP方法中对象对事件的反应,第2张

当一个事件作用于一个对象时,如果没有与之相关联的代码,什么都不会发生。对于绝大多数事件,开发人员不必编写代码。事实上,他们只需要为系统中使用的少数事件设计响应程序。

事件的响应程序段一般是一个过程,以事件的名称命名。
事件响应代码应该放在哪里取决于事件的顺序。
窗体中所有对象的Init事件都会在窗体的Init事件之前执行,所以在窗体显示之前,窗体上的任何对象都可以在窗体的Init事件代码中处理。
如果要在列表框、组合框或复选框的值发生变化时执行一段代码,可以写在InteiactiveChange事件(而不是Click事件)中,因为一般来说,对象值的变化不会触发对象的Click事件,有时对象值不变,但c ick事件会。
拖动对象时,系统会忽略其他鼠标事件。例如,在拖放操作:MotlseUp和Mot中,se-move事件不会发生。
有效的和when事件有返回值,默认情况下为“true”(. t .)。如果when事件返回“FALSE”(. f .)或O,则不会激活该对象。如果“假”(。f)或O,则焦点不能从对象上移开。

方法的层次结构
(1)容器事件和对象事件
在为对象编写事件代码时,需要注意以下两条基本规则:
①容器不处理与被包含对象相关联的事件。
②如果没有与某个对象相关联的事件代码,Visual FoxPro会检查该对象所在的类的层次结构中是否有与该事件相关联的代码。
当用户以任何方式与对象交互时(使用Tab键、单击鼠标、将鼠标指针移动到对象等)。),对象事件被触发。每个对象只接收自己的事件。例如,虽然命令按钮位于窗体上,但是当用户单击命令按钮时,不会触发窗体的click事件,只会触发命令按钮的Click事件。
容器事件代码独立于它包含的对象事件代码。
如果没有与命令按钮关联的Click事件代码,尽管有与表单关联的Click事件代码,但当用户单击按钮时,不会执行与表单关联的Click事件代码。
该规则也适用于表格控件。包含表格列,而表格列又包含标题和文本框。当事件发生时,只有与该事件关联的最低级别的对象能够识别该事件,而较高级别的容器则不能。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » OOP方法中对象对事件的反应

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情