Delphi 中Sender对象的定义! 
1.Sender的定义: 
每一个事件处理里面至少都有一个Sender参数。比如: 
procedure TForm1.Button1Click(Sender:TObject); 
begin 
... 
end; 
Sender的含义就是代表调用TForm1.Button1Click这个过程的控件. 由于Sender是TObject,所以任何object都可以赋给Sender. 
当你点击BUTTON1时,会产生一个Button1Click事件,系统会把Button1传递给Button1Click过程坐为参数,也就是所说的Sender. 
2.Sender的用法: 
<1>.由于Sender代表了调用所在过程的控件,那么你就可以直接把它拿来当那个控件用,不过如果要用属性的话,最好写成(Sender as 控件名).控件属性:=... 例如:                                
procedure TForm1.Edit1Click(Sender: TObject); 
begin 
with Sender as TEdit do         //将sender作为TEdit类使用 ,as操作符是类型转换。
begin 
text:=’hello’; 
end; 
end; 
<2>.如果在两个事件中处理同样的事情,那么可以利用Sender来省去重写同样的过程。例如: 
Procedure TForm1.Button1Click(Sender:TObject); 
begin 
do same sth.....; 
if Sender=Button1 then 
do sth....; 
if Sender=Button2 then 
do other sth....; 
end; 
procedure TForm1.Button2Click(Sender:TOBJect); 
begin 
Button1Click(Button2); 
end; 

转载于:https://www.cnblogs.com/huapox/archive/2010/11/01/3299830.html

Delphi中Sender对象的定义相关推荐

  1. 探究:如何判断Delphi中的对象指针是否可用

    2019独角兽企业重金招聘Python工程师标准>>> 近日,在网上看到有网友问曰:如何确定一个对象指针是否可用?也就是说,如何确定一个对象指针是否指向一个真正可用的对象实例?其实这 ...

  2. html js 数组定义,js 中数组对象的定义赋值 以及方法

    1.定义数组 var m=new Array(); var n=[]; 2.数组的赋值(两种) A. var m=new Array(2); 一个值表示数组length var m=new Array ...

  3. (转)剖析Delphi中的构造和析构

    剖析Delphi中的构造和析构 1 Delphi中的对象模型: 2 1.1 对象名表示什么? 2 1.2 对象存储在哪里? 2 1.3 对象中存储了什么?它们是如何存储的? 3 2 构造函数与创建对象 ...

  4. 检查值是否是JavaScript中的对象

    如何检查值是否是JavaScript中的Object? #1楼 尝试这个 if (objectName instanceof Object == false) {alert('Not an objec ...

  5. Java中的对象类型像引用还是指针,谁是谁非?

    Java中的对象类型像引用还是指针,谁是谁非? 作者:海枫 地址:http://blog.csdn.net/linyt 作为一名程序员,我们应该对新知识和新技术刨根问底,而不应泛泛而谈.我未曾接触到J ...

  6. Delphi中比较两个对象是否一致及地址是否相同

    在delphi中,C#也是如此,对象的地址与对象变量(引用)的地址不是同一个概念.要加以区别. procedure TForm1.btn1Click(Sender: TObject); var     ...

  7. android js变量定义数组长度,js 声明数组和向数组中添加对象变量的简单实例

    数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(10); var c = new Array("first", ...

  8. Delphi中JSon SuperObject 使用:数据集与JSON对象互转

    在delphi中,数据集是最常用数据存取方式.因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换.值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包 ...

  9. 【解析】在高级语言源程序中, 常需要用户定义的标识符为程序中的对象命名,常见的命名对象有()

    在高级语言源程序中, 常需要用户定义的标识符为程序中的对象命名,常见的命名对象有() A.关键字 B.变量 C.函数 D.数据类型 E.注释 一个一个分析: 关键字 :虽然很多关键字都可以用过defi ...

  10. BOM模型中常用对象 定义计数器 网页跳转 网页前进后退

    今天上午学了的BOM模型中常用对象,了解了一部分的属性 For循环的规律 外层循环控制行 内层循环控制列 <!doctype html> <html> <head> ...

最新文章

  1. ecshop订单-》待付款,待发货,待收货,收货确认
  2. [转]web标准的几个误区
  3. 华为浏览器推荐关闭_华为手机的不明照片是哪来的?这3个设置得关闭,否则128G也不够...
  4. [css] 要是position跟display、overflow、float这些特性相互叠加后会怎么样?
  5. 配置java编译环境
  6. iOS -- 音频播放、录音、视频播放、拍照、视频录制
  7. 【HTML+CSS网页设计与布局 从入门到精通】第14章-float/position/display属性
  8. 零基础带你学习MySQL—primary key主键(二十三)
  9. 第一次使用SSE指令集
  10. 3.8 RIPv2的认证机制
  11. 苹果在中国的审核规律探索二
  12. vb基础计算机应用,老师给学生的-VB计算机应用基础考试
  13. Visio 2010导入中UML2.2模板说明
  14. scratch英语计算机,scratch 2怎么做计算器
  15. 信号完整性之铜皮粗糙度
  16. DNS资源纪录(Resource Record)介绍
  17. 一个大牛对IT人士的忠告
  18. Python-Snap7与 1212 PLC通信并保存到sqlite3中
  19. 保护站点上已存在另一个具有相同实例 UUID的虚拟机_化合物晶形专利权利要求的表征及保护范围探讨...
  20. 11个资源强大的网站!

热门文章

  1. 【WH】MVC数据分页扩展类
  2. UVALive 3135--Argus+自己定义优先队列的优先规则
  3. [PHP] - visitFile()遍历指定文件夹
  4. tensorflow代码cpu上可以跑gpu跑报错Blas GEMM launch failed
  5. SE Springer小组之《Spring音乐播放器》可行性研究报告五、六
  6. SVN源码服务器搭建-详细教程(我的收藏)
  7. matlab图片集成成视频
  8. 【OpenCV入门指南】第十一篇 鼠标绘图
  9. Android屏幕适配之--通过修改系统的屏幕像素比来实现屏幕的适配效果
  10. pm2 管理 npm start