Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2007
JuanB JuanB is offline
Registrado
NULL
 
Registrado: nov 2007
Posts: 2
Poder: 0
JuanB Va por buen camino
Eventos en un array de componentes

Tengo un array de CheckBox que lo defino así:
aCuotas: Array [0..10] of TCheckBox;

Creo los 11 CheckBoxs y accedo a las propiedades sin problemas. El problema se presenta cuando quiero tener acceso al evento OnClick de estos checks y poder identificar en cual se hace el click (ya que por cuestiones del sistema deben estar "checkados" en forma consecutiva) para permitir (o no) que se marque con el tilde el CheckBox sobre el cual se hizo el click.

Desde ya agradezco cualquier solución y/o sugerencia.
Responder Con Cita
  #2  
Antiguo 06-11-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 12.704
Poder: 28
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. Usar un Array pudiendo usar un "TObjectList", por ejemplo, hará que tengas que trabajar más, para empezar. Ahora bien, para identificar al "checkbox" en que se hizo clic, puedes valerte del parámetro "Sender" del propio evento "OnClick".

Dicho parámetro "Sender" puede contener una referencia al objeto que "disparó" el evento. No siempre es así, porque nada te impide utilizar el evento "OnClick" por tu cuenta y riesgo, y no enviar referencia alguna, por ejemplo, pero, en general, es como digo al principio.

De tal como que es posible hacer algo como esto:

Código Delphi [-]

procedure TForm.CheckBoxClick(Sender: TObject);
begin
  // Este es el método que responde a los eventos "OnClick" de los "checkbox"

  if (Sender is TCheckBox) then
  begin
    // Sender es verdaderamente un "checkbox", y podemos acceder
    // a sus propiedades "casteando" el "Sender" tal que TCheckBox(Sender)

  end;

end;

No sé si te aclaro algo o no... pero, a lo mejor te he dado alguna idea por lo menos.
__________________
David Esperalta
www.davidesperalta.com
Responder Con Cita
  #3  
Antiguo 06-11-2007
Alfredo Alfredo is offline
Miembro
NULL
 
Registrado: nov 2003
Ubicación: Valencia, Venezuela
Posts: 234
Poder: 16
Alfredo Va por buen camino
Lightbulb

Hola y para recorrerlos y checkearlos prueba con esto, quiza puedas implementarlo:

Código Delphi [-]
var
  i: Integer;
begin
  for i := 1 to 11 do
     begin
        with TCheckbox(FindComponent('CheckBox' + IntToStr(i))) do
           begin
           Checked:= true;
     end;
end;
__________________
if Vivir = Vivir + Aprender then Aprender = ?
Alfredo Borges
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema con array de componentes nenufer Varios 2 06-06-2006 11:44:28
Eventos en componentes creados en tiempo de ejecucion joumont OOP 3 27-12-2005 14:48:23
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo morfeo21 Varios 5 17-08-2004 17:39:51
Eventos xerkan Firebird e Interbase 5 13-10-2003 17:21:18
Capturar eventos de componentes vichovi OOP 3 13-06-2003 19:01:33


La franja horaria es GMT +2. Ahora son las 00:24:24.


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