Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 25-11-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola rruffino, para aceder a un componente creado en tiempo de ejecución, puedes utilizar FindCompoenent:

Eliminamos el Label con nombre "Favorito_2"

Código Delphi [-]
var
 aLabel : TComponent;
begin
 aLabel := FindComponent('Favorito_2');
 if Assigned(aLabel) then
  aLabel.Free;

Parar borrar todos los componentes lo haces con el codigo que ya tienes, pero mejor si los creas dentro de un contenedor (Panel...) y asi borras solo lo que tienes en el contenedor, porque si no tendrías que guardar en algún lado los creados en ejecución para así solo borrar esos componentes o ponerle Tag=-1 y borras solo los que tienen ese valor (esto recorriendo tus componentes).

Para asignar eventos:

Código Delphi [-]
 
//Mostramos su Caption al hacer click
procedure TForm1.ClickLabels(Sender: TObject);
begin
 Showmessage(TLabel(Sender).Caption);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  Favorito: TLabel;
  cant_favoritos: integer;
begin
      aTop := 0;
      cant_favoritos := 1;
      //Creamos 10 labels y le asignamos el mismo evento
      for i:=0 to 10 do
       begin
          Favorito := TLabel.Create(Self);
          //Ubicación del componente, color, etc...
          Favorito.Parent := sScrollBox_favorito;
          Favorito.Align := alTop;
          Favorito.Cursor:=crHandPoint;
          Favorito.Font.Color:=$00B23D00;
          Favorito.Caption:=DM.IBDataSet_favoritoNOMBRE.Value;
          Favorito.Name := 'Favorito_'+IntToStr(cant_favoritos);
          Favorito.Top := aTop;
          Favorito.OnClick := ClickLabels; //Asignamos el evento
          Inc(aTop,20);
          Inc(cant_favoritos);
          Favorito.PopupMenu:=PopupMenu_elim_favorito;
       end;
end;

Y para la ultima pregunta, también con FindComponent.

Código Delphi [-]
var
 aLabel : TComponent;
begin
 aLabel := FindComponent('Favorito_2');
 if Assigned(aLabel) then
  TLabel(aLabel).Caption := 'Otro Caption';

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 25-11-2010 a las 16:23:59.
Responder Con Cita
 



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
Añadir componentes en tiempo de ejecución. Drakyto Varios 4 02-06-2007 19:29:06
Componentes que no se ven en tiempo de ejecución Alcolea Varios 3 11-09-2006 02:18:03
componentes en tiempo de ejecución Maga84 OOP 13 21-05-2005 19:49:06
Componentes en Tiempo de Ejecucion Caro Varios 2 16-05-2005 16:49:01
mover componentes en tiempo de ejecución Dantael OOP 3 06-02-2005 12:29:46


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


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