Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2005
Avatar de Maga84
Maga84 Maga84 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Madrid
Posts: 36
Poder: 0
Maga84 Va por buen camino
Question array de botones

Hola a todos.
Soy principiante con delphi
A ver si os se explicar mi duda
he hecho un array de botones que tiene como maximo 30 elementos:

bnt:array [1..30] of Tbutton;

En el FormCreate creo los botones según el número de elementos que tengo en una tabla.
for i:=1 to ADOTable1.RecordCount do
begin

...

bnt[i]:=tbutton.Create(self);
bnt[i].Left:=335;
bnt[i].Top:=16;
bnt[i].Width:=50;
bnt[i].Height:=25;
bnt[i].ParentWindow:=p[i].Handle;
bnt[i].Name:='Binfo'+IntToStr(i);
bnt[i].Font.Size:=20;
bnt[i].Caption:='...';

...

end;

Ahora lo que quiero es que todos los botones tengan un mismo procedure OnClick pero no se como se hace esto. Además quiero que dependiendo del indice del boton se haga algo.
Esto con visual basic me parecía muy facil. Pero con delphi todavía ando un poco perdida.
Seguro habrá alguna manera sencilla de hacer esto.
Por favor echarme un cable.
Gracias
Un saludo
Responder Con Cita
  #2  
Antiguo 25-03-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Simplemente asigna a la propiedad OnClick de cada botón el método que desees:

Código Delphi [-]
bnt[i].OnClick := BotonClick;

BotonClick deberá ser un método declarado con los mismos parámetros del evento:


Código Delphi [-]
TForm1 = class(TForm)
public
  procedure BotonClick(Sender: TObject);
end;

Para lo de los índices puedes usar la propiedad Tag de cada botón:

Código Delphi [-]
bnt[i].Tag := i;

Así, en el método BotonClick usarías algo como:

Código Delphi [-]
case TButton(Sender).Tag of
  1: {código para el botón 1}
  2: {código para el botón 2}
  3: {código para el botón 3}

  ...
end;

// Saludos
Responder Con Cita
  #3  
Antiguo 25-03-2005
Avatar de Maga84
Maga84 Maga84 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Madrid
Posts: 36
Poder: 0
Maga84 Va por buen camino
Gracias!!

No me esperaba una respuesta tan inmediata!!
muchas gracias de verdad
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:38:29.


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
Copyright 1996-2007 Club Delphi