Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Asignar un evento desde el código (https://www.clubdelphi.com/foros/showthread.php?t=64937)

iktwo 10-11-2009 23:44:40

Asignar un evento desde el código
 
Estoy realizando un "juego" en Delphi y por facilidad de control he creado una matriz de TImage

Código Delphi [-]
Piezas: array [1..8,1..13] of TImage;

Tengo un método que iniciliza dicha matriz:

Código Delphi [-]
for i:=1 to 8 do
     for j:=1 to 13 do 
      begin 
        Piezas[i,j]:=TImage.Create(self);
        Piezas[i,j].Name:='imagen'+inttostr(i)+'x'+inttostr(j);              
        Piezas[i,j].Width:=64; 
        Piezas[i,j].Height:=64;
        Piezas[i,j].Top:=5+((i-1)*64);
        Piezas[i,j].Left:=5+((j-1)*64);
        Piezas[i,j].Parent:=Self;           
        Piezas[i,j].Picture.LoadFromFile('nada.bmp');

El problema que tengo es que deseo agregar el evento onClick en cada TImage pero necesito saber en que TImage se dió el click

Añadí esta linea al método de arriba:
Código Delphi [-]
Piezas[i,j].OnClick:=form1.pintaPanel;


pintaPanel recibe esto: (Sender: TObject)

Dentro de pintaPanel tengo que agregar una imagen al TImage donde se ha dado click, pero no tengo idea de como hacer referencia hacia el

jhonny 11-11-2009 00:22:12

Puedes utilizar el Type Cast, así:

Código Delphi [-]
TImage(Sender).Picture.Assign(Imagen);

Espero que esto te de al menos, una idea.

iktwo 11-11-2009 00:29:34

Gracias, eso funcionó, sólo hacia falta el cast


La franja horaria es GMT +2. Ahora son las 14:21:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi