Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Características de los ListView con Imágenes (https://www.clubdelphi.com/foros/showthread.php?t=59940)

madiazg 14-09-2008 00:05:22

Características de los ListView con Imágenes
 
Hola a todos,
estoy usando el truco 467 para mostrar en un ListView los thumbnail de unas imágenes. Estos thumbail tienen un tamaño de 96x96 pixels. El problema es que estas imágenes aparecen en el ListView muy separadas entre si (ViewStyle : vsIcon). Además, a pesar de que no quiero mostrar el campo caption en el listview tengo que dejar un espacio vertical (ListView.Height) porque si no me aparece la barra del scroll vertical (tengo configurado el listview en formato apaisado)

¿Hay alguna forma de modificar el espacio entre las imágenes así como eliminar el espacio que ocuparía el campo caption para de esta forma disminuir el alto del ListView?

Saludos...
Miguel Angel
imagen3d.site88.net/

madiazg 14-09-2008 19:13:46

El primer punto ya lo he solucionado. Se puede indicar la posición donde colocar una imagen en un listview:

Código:

  with ListView1.Items.Add do
  begin
    ImageIndex := ListView1.Items.Count - 1;
    Left := 100 * (ListView1.Items.Count - 1); //de 100 en 100 px.
  end;

Si a alguien se le ocurre como solucionar la segunda parte de la pregunta...

Saludos...
Miguel Angel

madiazg 14-09-2008 21:43:36

El segundo problema lo he minimizado con:
Código:

ListView1.Font.Height := 1;
pero no he resuelto el problema ya que, aparte de la altura del Font, queda un espacio entre la imagen y el caption que necesito eliminar. La solución sería un Listview con estilo Icon pero sin caption. ¿Alguien sabe si es posible?

Utilizo TurboDelphi por lo que no puedo instalar componentes de terceros...

Saludos...
Miguel angel

madiazg 17-09-2008 18:39:41

Me adelante con que había resuelto el problema del espacio entre imágenes. Con el codigo:
Código:

  with ListView1.Items.Add do
  begin
    ImageIndex := ListView1.Items.Count - 1;
    Left := 100 * (ListView1.Items.Count - 1); //de 100 en 100 px.
  end;

consigo que las imágenes se muestren de 100 en 100 px pero no selecciona correctamente la imagen.
Cuando hago click en algunas imágenes estas no se seleccionan como si conservara la posición por defecto de las imágenes a la hora de seleccionarlas. En cambio, cuando elimino la instrucción
Código:

//    Left := 100 * (ListView1.Items.Count - 1); //de 100 en 100 px.
las imágenes se muestran muy separadas pero se seleccionan correctamente.
Código:

  if ListView1.Selected <> nil then
    Label1.Caption := IntToStr(ListView1.Selected.ImageIndex)

Lo curioso es que, cuando añado las imágenes, si las voy seleccionando desde la primera hasta la última, se seleccionan correctamente (desde la izquierda del ListView a la Derecha) pero el problema ocurre cuando selecciono una imagen anterior (una imagen a la izquierda de la última seleccionada).
¿Alguien me puede ayudar a resolver este problema?

Saludos...
Miguel Angel

madiazg 17-09-2008 19:35:39

Bueeeeno... ya parece que lo he solucionado...
tenía LargeImages, SmallImages y SortImages con ImageList1. He eliminado SmallImages y SortImages y la cosa ya parece que funciona.

Caral 17-09-2008 19:38:19

Hola
Que bueno que te sirvió, estamos para servirte.:D:D
Saludos

madiazg 17-09-2008 19:43:56

Esto era lo más parecido ha hablar sólo... algo así como un monólogo...
En fin, espero que a alguien le ayude todo esto...
Saludos...
Miguel Angel

newtron 03-04-2012 18:42:54

Hola.

Me interesaría echarle un vistazo al truco que hace referencia el amigo madiazg, el 467, pero no lo veo. ¿Alguna forma de acceder a él?.

Gracias y un saludo

ecfisa 03-04-2012 19:04:55

Hola mi amigo, aquí te pongo el enlace: [Truco 467]

Saludos. :)

newtron 03-04-2012 19:58:57

Gracias amigo ecfisa. :)


La franja horaria es GMT +2. Ahora son las 14:17:50.

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