对于动态创建的控件所组成的数组中,怎样在其共用的事件中(如OnClick)区分是哪个控件激发了该事件(100分)

  • 主题发起人 主题发起人 Li Fei
  • 开始时间 开始时间
L

Li Fei

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中动态的创建了多个TImage控件,并用自己编写的处理事件的过程
MyClick覆盖了控件的标准过程OnClick,但当MyClick被激发时,我无法确定到底是哪一个Image激发了该事件(由于TImage控件不能得到焦点,故不能从Self.ActiveControl即窗体的当前活动控件中得到),请各位网友帮我想个办法,非常感谢!
 
从OnClick事件过程的Sender可以得到,Sender就是被点击的Image.

建议你给image的tag属性赋不同的值,然后在OnClick里面判断以下
(Sender As Timage).tag就知道被点击的是谁了.
 
好吧,你可以在创建时,给这些IMAGE起名字,或加TAG
for i:= 0 to n do begin
aImage := TImage.Create...;
aImage.Loadfrom....;
aImage.Tag := i;
aImage.OnClick := AllClick;
end;

在ALLCLICK里:
begin
case TImage(Sender).tag of
1: //Image1 is click
2: //Image2 is click
.....
end;

 
见它的鬼!ACKK,好不容易有道会做的。

你瞧瞧,你给人家出那叫什么招啊,那招能用么?那招好用么?!最见鬼
的是,我怎么也用的和你一样的招儿!
 
谁让你不好好叫我的名字的,哼!!!
 
cAkk:嘿嘿,不是不好好叫你的名字,而是你的名字实在让人记不住。
知道你特敏感别人叫不好你的名字,所以,我几乎每次都是把您的大名
CUT/PASTE,这回是见你抢了先,气昏了。

你若能讲出你的名字的来由,以及为什么非小写C,大写A等,也许我能
记住了。
 
y9y:
你开一个300分的题“cAkk名字的来由”,看有多少种答案,哈哈……
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
896
SUNSTONE的Delphi笔记
S
S
回复
0
查看
873
SUNSTONE的Delphi笔记
S
D
回复
0
查看
825
DelphiTeacher的专栏
D
D
回复
0
查看
831
DelphiTeacher的专栏
D
后退
顶部