在控件的Create方法中用Create(Self)。这里的Self相当于创建这个控件的拥用者即Owner 。而在控件的事件中一般有参数Sender,表示这个事件是哪个控件触发的。比如有好几个Button共用一个Click事件,那么用Sender.tag可区分是哪个按钮,当然事先需为每个Button设置tag属性
解决方案 »
- 关于在delphi2010下Stringlist对ansiString不全支持的问题,请遇见过的网友给个建议
- 文件改名同时也改变其扩展名,方法好分可加
- 这个用哪个事件触发?谢谢!
- 两个问题,关于文件夹的
- 谁用过ADOStoredProc执行过ORCALE里的存储过程啊,好象有问题(Delphi7.0)
- DBGrid中字体颜色的动态赋值?
- 高分求:李维的Delphi 7高效数据库程序设计电子书
- 已知电子邮件地址字符串,如何通过Outlook Express群发电子邮件?
- 庆祝成为三级用户,散分!
- 想编一个类似于COMBOBOX的控件
- 问个弱智的问题,com都包括什么啊?
- 文件的扩展名html与htm文有区别吗?
begin
if sender=button1 then
label1.caption:=′看庭前花开花落′ else label2.caption:=′望天上云卷云舒′
end; 在此例中,button1,button2共用了buttonclick事件处理程序。 self是指所编的程序范围是在哪一个类中,delphi中大都在窗体范围内编程,因此,self即指窗体,如果在编写一个类或是一个组件,则self指该类或组件。我们在函数或过程的声明中可看出self是代表哪个组件,即self代表‘.’号之前的组件,如在第一个例子中,self代表tform1。另外应注意,self只能用在类方法中,而不能用在过程或函数中,如下例用法是错的:function a1(b:integer):integer;
begin
……
button:=tbutton.create(self);……
end;
比如在TForm1.Button1Click()中用self 的话就代表这个Form1本身,
还有在组件构造函数中用self的话代表这个组件的owner为self.
sender一般用在事件句柄中,代表触发这个消息的控件