Delphi中Self和Sender的区别

开发 开发工具
本文主要介绍程序设计语言Delphi中Self和Sender的区别,一起来看。

在事件处理程序参数表中,至少含有一个参数Sender,它代表触发事件处理程序的构件,如在上例中,Sender就指Button2,有了Sender参数,可以使多个构件共用相同的事件处理程序,如下例:

  1. Procedure Tform1.Buttonclick(Sender:Tobject);   
  2.   Begin   
  3.   If sender=button1 then   
  4.   Label1.caption:=′看庭前花开花落   
  5. ′   Else Label2.caption:=′望天上云卷云舒′   
  6.   End;  

 

在此例中,Button1,Button2共用了Buttonclick事件处理程序。

Self是指所编的程序范围是在哪一个类中,Delphi中大都在窗体范围内编程。

因此,self即指窗体,如果在编写一个类或是一个组件,则self指该类或组件。

我们在函数或过程的声明中可看出self是代表哪个组件,即self代表‘.’号之前的组件,如在***个例子中,self代表Tform1。

另外应注意,self只能用在类方法中,而不能用在过程或函数中,如下例用法是错的:

  1. Function a1(B:Integer):Integer;   
  2.   Begin   
  3.   ……   
  4.   Button:=tbutton.create(self);……   
  5.   End; 

Clientheight和Height,Clientwidth和Width的区别:

对于一般的构件而言,Height就是Clientheight,Width就是Clientwidth,而对于窗体而言,Height是包括标题条在内的高度,而Clientheight是指窗体工作区的高度。同理,Clientwidth是指定窗体工作区的宽度。

从上面陈述可知,理解Ower和Parent,Self和Sender,Clientheight和Height,Clientwidth和Width区别,对于Delphi中正确编程是重要的。

【编辑推荐】

  1. 亲身实践讲述SEO赚钱门路
  2. Delphi编程实现QQ聊天窗口的修改
  3. Delphi如何清空日志文件
  4. 如何在Delphi中自动录入数据
  5. 基于Delphi的屏幕抓图技术的实现
  6. Delphi与C#之父:技术理想架构开发传奇
责任编辑:于铁 来源: 互联网
相关推荐

2011-07-08 18:44:09

Objective-C Self Super

2023-12-25 07:28:24

PythonSelf对象编程

2023-10-12 08:25:18

Javaequals内存

2021-08-04 08:33:59

TypeScriptConst Readonly

2012-01-04 10:07:56

Delphi

2015-08-10 10:58:53

dompropertyattribute

2012-03-01 14:04:03

Java

2010-09-08 09:33:09

CSSlink@import

2010-09-01 15:11:09

linkimportCSS

2010-08-30 10:32:38

SPANDIV

2011-04-20 09:07:44

Ubuntuuseraddadduser

2009-06-29 18:32:30

Hibernate

2016-12-06 10:30:39

JavaScriptWriteWriteln

2024-03-19 14:41:08

C#操作符开发

2021-01-25 10:40:56

Python 开发编程语言

2009-08-10 13:05:06

C# DLLC# Delphi开发

2009-06-19 16:46:18

IntegerJava

2009-06-26 16:23:12

Hibernate gHibernate l

2020-12-22 14:11:45

JS forEach()map()

2010-08-17 09:41:22

DIVSpan
点赞
收藏

51CTO技术栈公众号