Inicio > Delphi, Ejemplos, Fácil > Crear componentes en un TScrollBox (runtime)

Crear componentes en un TScrollBox (runtime)

martes, 26 de octubre de 2010 Dejar un comentario Ir a comentarios
Share Button

Se trata de un ejemplo sencillo que puede servir a quien esté comenzando con la creación de componentes en runtime y asignación de eventos. En este caso se trata de un visualizador de imágenes, que crea componentes TImage dentro de un TScrollBox, a modo de miniaturas, para luego visualizar esas imágenes en un control TImage a tamaño mayor.


Se utiliza también una TObjectList para almacenbar los objetos (componentes TImage y TPanel) que se van creando en ejecución para posteriormente poder acceder a ellos. Para crear los componentes se utiliza un código com este:

var
  im:TImage;
  i:Integer;
  pnl:TPanel;
begin
 
  // Para cada imagen
  for i := 0 to (imList.Count - 1) do begin
    // Crear el control imagen
    im := TImage.Create(nil);
    // Asignar propiedades
    im.Parent := ScrollBox1;
    im.Height := ScrollBox1.Height;
    im.Width := im.Height;
    im.Top := 0;
    im.Left := ((im.Width + 15{panel} + 4) * i);
    im.Transparent := true;
    im.Align := alLeft;
    im.Stretch := True;
    im.Proportional := True;
 
    // Cargar
    im.Picture.LoadFromFile(imList[i]);
    // vebto OnClick
    im.OnClick := ClickImage;
    // Añadirla a la lista de objetos
    oList.Add(im);
 
    // Separados
    pnl := TPanel.Create(nil);
    pnl.Parent := ScrollBox1;
    pnl.Left := im.Left + 5;
    pnl.Width := 15;
    pnl.Height := im.Height;
    pnl.Align := alLeft;
    pnl.Color := clBlack;
    // Aadirlo a la lista de objetos
    oList.Add(pnl);
 
  end;

Se puede descargar el código completo del ejemplo desde aquí .
Actualizo el contenido en DropBox.
Este ejemplo ha surgido a partir de este hilo en el ClubDelphi.

Otros ejempos útiles sobre el mismo tema, relacionados con este pueden ser «Crear, mover y redimensionar controles en Runtime (IDE)» o «Crear/destruir comp. en Runtime y moverlas con el ratón«.

Un saludo.

Vota este post
Categories: Delphi, Ejemplos, Fácil Tags: ,
Subscribe
Notify of
guest

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

5 Comments
Inline Feedbacks
Ver todos los comentarios
casimiro
casimiro
14 years ago

Qué buena pinta tiene el programa, es un auténtico tutorial práctico para quien busque temas como este de la creación de componentes en runtime.

Darkblue
Darkblue
13 years ago

¿existe alguna funcion del tipo zoom?, muy bueno tu aporte

Mauricio
Mauricio
11 years ago

Hola Neftalí, gracias por tu aporte, como se haría para que las miniaturas estuvieran al lado izquierdo o derecho y las mostrara verticalmente. Gracias.

5
0
Would love your thoughts, please comment.x
()
x