第六章过程与函.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章过程与函

6.1?? 过程Delphi的过程分为标准过程与自定义过程两种。 ??? 标准过程是指系统内部定义的过程,无须编写代码,即可直接使用。如第2章介绍的Delphi常用函数与过程 ??? 用户自定义过程则由用户自行编写代码以完成指定的操作,包括事件过程与通用过程两类。 ??? 事件过程依附于对象,是Delphi应用程序的主体,当该对象响应指定事件时被执行,事件过程也可以由其他过程调用而被执行。 ??? 通用过程告诉应用程序如何完成一项指定的任务。通用过程不与任何特定的事件相联系,只能由别的过程来调用。 ??? 建立通用过程的理由之一是,几个不同的事件过程也许要执行同样的动作。将公共语句放入分离开的过程(通用过程)并由事件过程来调用它,这样一来就不必重复代码,也容易维护应用程序。 本节主要讲授: 事件过程的创建与调用 通用过程的语法格式 通用过程的创建与调用 6.1.1?? 事件过程的创建与调用1 事件过程的创建 2 事件过程的调用 6-1】:在一个窗口中包含3个按钮,当用户单击其中一个时,要求其它个别按钮不能使用   1 事件过程的创建 在对象观察器(Object Inspector)中选择指定的对象,然后在事件(Events)选项卡中选择指定的事件名称,并用鼠标双击其右边的空白区域,Delphi将自动产生一个默认的事件过程。事件过程的名称是控件名加上事件类型名,如Button1控件的Onclick事件的默认事件过程名是Button1Click。 ??? 当用户对某一个对象发出一个动作时,Windows会通知Delphi产生一个事件,将自动到调用该对象与该事件相关的事件过程。即当对象对一个事件的发生作出认可时,Delphi便自动用相应于控件与事件的名字调用该事件过程。因为名字在对象和代码之间建立了联系,所以说事件过程上依附于对象上的。 ???? 另外,一个事件过程也可以被多个对象、多个事件共享。其方法为:首先为其中一个对象建立事件过程,然后在创建其它对象的事件过程时,从事件名称右边的下拉列表中选择已经建立的事件过程名即可。 ??? 共享了事件过程后,当其中任何一个事件发生时,事件过程都会被调用,这时可以根据Sender参数和TComponent类的Tag属性值来区分事件发生者,从而作出相应的处理。 6-1】:在一个窗口中包含3个按钮,当用户单击其中一个时,要求其它个别按钮不能使用,如下图: 单击Button1 单击Button2 单击Button3 分析:本例可以分别建立3个按钮的单击事件过程,也可以使用同一个事件过程来处理3个按钮的单击事件。假设:单击Button1使Button2不可用;单击Button2使Button1不可用;单击Button3使Button1和Button2都可用。 设计步骤如下: (1) 应用程序用户界面的建立与对象属性参见上图,注意三个按钮Button1,Button2,Button3的Tag属性分别为:0,1,2。 (2) 双击按钮Button1,系统自动声明默认的事件过程:Button1Click, 并同时打开代码编辑窗口。 (3) 编写Button1的OnClick事件过程代码: procedure TForm1.Button1Click(Sender: TObject); begin ? Case (Sender as TButton).Tag of ???? 0: Button2.Enabled:= False; ???? 1: Button1.Enabled:= False; ???? 2: begin ????????? Button1.Enabled:= True; ????????? Button2.Enabled:= True; ?????? end; ?? end; end; (4) 在对象观察器中依次选择Button2和Button3,并在事件选项卡中选择事件OnClick,从事件名称右边的下拉列表中选择已建立的事件过程名Button1Click。 (5) 单击标准工具栏中的“Run”按钮或按F9键,运行工程。 程序下载 2 事件过程的调用 ??? 可以在过程代码中调用已经创建的事件过程。如在例6-1中,为Button3按钮创建独立的OnClick事件过程来调用已经存在的Button1Click事件过程: procedure TForm1.Button3Click(Sender: TObject); begin ? Button1Click(Sender); end; 上述调用语句中的实际参数Sender还可以改为Button3,即:Button1Click(Button3); 6.1.2? ?? 通用过程的语法格式通用过程在调用之前必须首先定义,定义一个通用过程也

文档评论(0)

jiuqie957379 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档