- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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? ?? 通用过程的语法格式通用过程在调用之前必须首先定义,定义一个通用过程也
您可能关注的文档
最近下载
- 锦州黑山400MW风电项目环境影响报告书.pdf
- 广东中山翠亨国家湿地公园EPC工程全过程造价服务采购项目招标文件.pdf VIP
- 财务会计工作述职报告推荐6篇.docx VIP
- 2023年行政执法证考试必考题库及答案(共八套).docx VIP
- 2024年行政执法证考试必考题库及答案(共八套).pdf VIP
- 福禄克1508绝缘电阻测试仪.pdf VIP
- 聚焦学科核心素养学习体会.docx VIP
- 通河县1.09MWp分布式光伏电站设计方案.pptx VIP
- 生物●山东卷丨2023年山东省普通高中学业水平等级考试生物试卷及答案.docx VIP
- 罗斯蒙特3051S变送器中文版.pdf VIP
文档评论(0)