Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Imagenes en una tabla, ok. Pero verla en el mismo DBGrid?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Imagenes en una tabla, ok. Pero verla en el mismo DBGrid? Responder citando

Ya he leido varios post sobre guardar y leer imagenes en una tabla, que en InterBase o en MySQL, que no se puede JPG, que toca BMP, que toca armar un stream y mostrarla en un TImage y todo eso ya lo entendi y ya es suficiente.

Lo que yo quiero es ver todas las imagenes guardadas en la tabla en el mismo TDBGrido o en algun objeto, pero que de la apariencia de... mmm...
imagino que todos han grabado alguna vez un cd con el nero, verdad? se acuerdan de la ventanita de mensajes que sale diciendo: se inicio el proceso, se activo buffer undernoseque, se inicio grabacion a tantas x, se finalizó, etc. Se acuerdan que a la izquierda ponen un dibujito que hace alusion al mensaje? por ejemplo, si hay un error, aparece el dibujito de la admiracion...

Quiero hacer algo similar y se me ocurre que la imagen debe verse en el mismo DBGrid, o de algun metodo posible, pero que uno se pueda desplazar con la barra vertical y vea los mensaje antiguos y su correspondiente dibujito. Bueno, basta de ejemplos, creo que ya me hice entender. Alguien tiene alguna idea?

Muchas gracias!
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

¿Y no te iría mejor hacerlo con un TListView asignándole imágenes a través de TImgeList? creo que en tu caso sería mejor opción. Si no sabes a qué me refiero crearé un ejemplo y lo postearé.
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Voy a intentarlo Responder citando

Hola Tugui

Gracias por contestarme, acabo de leer tu sugerencia y estuve echandole un vistazo en builder y creo que si funciona. De todas formas ahora no tengo mucho tiempo para revisalo a fondo. Creo que trabajaré en ello esta noche.

Te agradeceria si tienes tiempo para postear el ejemplo... Wink

QUE BUEN FORO!! Exclamation
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Lo primero es poner la propiedad OwnerDraw del ListView a FALSE.
Y para ir cambiando las imágenes que salen a la izquierda de cada elemento mostrado pues por ejemplo podemos utilizar el evento OnCustomDrawItem:
Por ejemplo, si la fila es par o impar:
Código:


void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
      TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
   if (Item->Index &1){ //<-----Si la posición de la fila es impar...
    Item->ImageIndex = 0;
   }
   else {//<-----Si la posición de la fila es Par...
    Item->ImageIndex = 1;
   }
}

En el ejemplo se valida si la fila es par o impar pero puedes validar muchas otras cosas según sean tus necesidades, los captions de los items, su posición en la lista, los subitems, etc... Y también aprovechar el mismo evento para cambiar colores de texto y de fondo de las filas a tu gusto. Y lógicamente para poder asignar imágenes a los items de este modo debes haber especificado un TImageList a la propiedad SmallImages del TListView y haber cargado las imágenes que quieras utilizar en el TImageList.
Sigue preguntando si te quedan más dudas.
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Lo he estado intentando... Responder citando

Hola Tugui

Quizas te pueda parecer muy torpe en esto, pero la verdad nunca he utilizado el ListView. Y no se bien como utilizarlo. Si ya se que me vas a decir, que lea la Ayuda y que hay muchos tutoriales donde dicen como funciona, pero te agradezco si me puedes hechar una mano en la forma de insertar filas o lineas en este objeto. Ah y si me puedes explicar las diferentes formas de ViewStyle.

Creo que me esta funcionando, hice lo siguiente:
- Todo lo que me dijiste
- Adicione un item por el dialogo Items
- Puse ViewStyle en vList
- y lo ejecuté

Se ven las imagenes y los items, pero la imagen titila, como si fuera problema del refresco de la pantalla, creo que se debe programar en otro evento... tu me dirás...

Espero tu respuesta. De antemano, muchas gracias!
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Lo sigo intentando... Responder citando

Hola

No me titila o parpadea la imagen en el evento OnDrawItem, pero no me cambia las imagenes, es decir, en todos los items sale la misma imagen...

Espero tu respuesta...
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

¿Tienes un TImageList asociado a la propiedad SmallImages del ListView?
y si es así, ¿Cuantas imágenes has cargado en el TImageList?

1º- Cargar al menos dos imágenes diferentes en el TImageList.
2º- Asociar el TImageList con la propiedad SmallImages del TListView.
3º- Ajustar la propiedad ViewStyle del TListView al valor VsReport.
4º- Doble click en el TListView para mostrar el editor de columnas, añade
una o tantas como quieras.
5º- Y finalmente el código en el evento OnCustomDrawItem:
Código:

if (Item->Index &1){ //<-----Si la posición de la fila es impar...
    Item->ImageIndex = 0;
   }
   else {//<-----Si la posición de la fila es Par...
    Item->ImageIndex = 1;
   }

Suerte.
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Por fin Responder citando

Si, gracias, por fin me funcionó...
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.