Desplegar Imagenes En Grid

2,592 views
Skip to first unread message

Osis7

unread,
Jun 16, 2009, 11:03:41 AM6/16/09
to Mundo Visual FoxPro
Saludos a toda la comunidad, alguien podria orientarme o decirme en
que estoy mal... Tengo una tabla de clientes con un campo logico para
dererminar si el cliente esta activo o no... tengo ademas un grid
donde muestro a los clientes, en el grid tengo una columna con un
control IMAGE que me mostraria una imagen si el cliente esta activo y
muestra otra imagen diferente si el cliente esta inactivo... el
problema que tengo es que me muestra una sola imagen para todos los
clientes, es decir, si el primer cliente esta activo me muestra para
todos (activos e inactivos) la imagen de activo, en caso contrario si
el primer cliente esta inactivo me muestra para todos la imagen de
inactivo...

En el INIT( ) del grid tengo:

IF cliente.activo
this.column1.myimage1.Picture = "Imagen1"
ELSE
this.column1.myimage1.Picture = "Imagen2"
ENDIF
this.refresh

Ademas en la columna (Column1) que me muestra la imagen tengo la
propiedad Sparse = .F., para que me muestra la imagen al momento de
entrar al formulario. Cualquier ayuda o comentario se Agradece...

Armando Rodríguez

unread,
Jun 16, 2009, 12:21:33 PM6/16/09
to mundovis...@googlegroups.com
Una carencia importante de los Grids de vfp, es precisamente manejo de
imágenes. Se tiene que hacer circo, maroma y teatro para conseguir
visualizar imágenes condicionales. Lo que yo hago en este caso para los
clientes inactivos es poner el back color en un color distinto, don la
propiedad DynamicBackColor(). Prueba por ahí si lo deseas y nos comentas tu
resultado.

ArmandoMx.

Cesar Yamunaque Baca

unread,
Jun 16, 2009, 12:41:25 PM6/16/09
to mundovis...@googlegroups.com
Hola prueba usando
This.column1.myimage.picture=IIF(cliente.activo,"Imagen1.bmp","Imagen2.bmp")

Miguel Antúnez C.

unread,
Jun 16, 2009, 3:11:22 PM6/16/09
to mundovis...@googlegroups.com

La solución podría ser poniéndole doble control al column del grid

Picture1, picture2

Y hacer un dynamiccurrentcontrol.

 

Saludos………….

Osis7

unread,
Jun 17, 2009, 9:57:27 AM6/17/09
to Mundo Visual FoxPro
Tienes Razon es mucho circo y maroma... probe muchas de las formas que
varios hicieron el favor de sugerirme con resultados poco
satisfactorios, la unica forma que encontre fue la de "colorear" la
celda del Grid usando la propiedad DynamicBackColor(). De todas
formas GRACIAS a todos por sus opiniones y su tiempo, un abrazo.


On 16 jun, 11:21, Armando Rodríguez <armandorodrigu...@hotmail.com>
wrote:
> entrar al formulario. Cualquier ayuda o comentario se Agradece...- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Manuel Zevallos

unread,
Jun 17, 2009, 4:34:02 PM6/17/09
to mundovis...@googlegroups.com
O poner un boton que te muestre en otra ventana la foto ampliada.
Eso he hecho yo para manejar imagenes en una tabla de trabajadores.
--

Atte.,

Manuel Zevallos
Message has been deleted

Daniel Sánchez

unread,
Jun 25, 2009, 6:53:16 PM6/25/09
to Mundo Visual FoxPro
Hola amigo tendrias que realizar lo siguiente
en mi caso tengo un objeto imagen llamado icongrid creado en mis
clases que es un objeto tipo imagen de 16x16
que es el alto y ancho que necesito para mostrar iconos de esa medida
en una fila del grid.
En la objeto icongrid adiciono un evento en base a la variable
backstyle le indico que tengo un metodo acces que significa
que cada vez que se consulte a dicha variable se va ha disparar el
evento backstyle_access. Con esto cada vez
que el grid refresca el icono consulta el backstyle de objeto imagen
icongrid al consultarlo dispara el evento backstyle_access
en el evento backstyle_access puse el siguiente codigo

*To do: Modify this routine for the Access method
this.Parent.Parent.chanceimagen(this,this.nidimagen)
RETURN THIS.BackStyle

en este metodo tambien hago referencia a una propiedad que tambien ha
sido adicionada al objeto imagen llamada nidimagen
que es el identificador de la imagen que se esta creando (pensado en
tener varios icongrid insertados en un grid a visualizar para
poder identificar a cual hago la referencia)

como este objeto ha sido creado especificamente para trabajar con un
grid en el hago referencia al método llamado chanceimagen
que ha sido creado en el objeto grid que tambien debe ser subclaseado
para poder adicionarle metodos o propiedades al grid para esto
se crea un objeto en la clase en base al objeto grid de fox y ahi le
puedes adicionar el metodo y propiedades indicado.
el metodo chanceimagen tendria solamente lo siguiente en el objeto
subclaseado del grid

LPARAMETERS oImagen as Object, nIDImagen as Integer

y nada mas el codigo iria en el form donde se colocaria el grid que
se
ha subclaseado
Una vez realizado la creacion del objeto icongrid todo esto solo es
cuestion de programar el metodo en el form a mostrar
una vez arrastrado el nuevo objeto grid al form vamos a indicar las
imagenes que deseo adicionar y poner
el siguiente codigo q podria ir en el ini del grid o del form depende
como inicializes tus tablas

IF !TYPE("thisform.grdCursor.column1.imagen1")="O"
thisform.grdCursor.column1.AddObject
("imagen1","icongrid") &&adiciono un objeto en la columna del tipo
icongrid con el nombre imagen1
ENDIF
thisform.grdCursor.column1.imagen1.visible=.t.
thisform.grdCursor.column1.imagen1.nIDImagen=100
thisform.grdCursor.column1.CurrentControl=[imagen1]
thisform.grdCursor.column1.sparse=.f.

ahora en el grid tengo q poner codigo en el metodo chanceimagen
algo como esto todo depende de lo que deseas visualizar

LPARAMETERS oImagen as Object, nIDImagen as Integer
oImagen.picture="iconosXP\blankx16.bmp"
DO CASE
CASE aliastabla.campoacomparar=1
oimagen.picture="iconosxp\clientesx16.bmp"
CASE laliastabla.campoacomparar=2
oimagen.picture="iconosxp\clientesokx16.bmp"
CASE aliastabla.campoacomparar=3
oimagen.picture="iconosxp\trabajoseditx16.bmp"
CASE aliastabla.campoacomparar=4
oimagen.picture="iconosxp\homex16.bmp"
CASE aliastabla.campoacomparar=5
oimagen.picture="iconosxp\homeokx16.bmp"
CASE aliastabla.campoacomparar=6
oimagen.picture="iconosxp\letrarenovadax16.bmp"
CASE aliastabla.campoacomparar=7
oimagen.picture="iconosxp\letraprotestadax16.bmp"
CASE aliastabla.campoacomparar=8
oimagen.picture="iconosxp\checkx16.bmp"
CASE aliastabla.campoacomparar=9
oimagen.picture="iconosxp\delx16.bmp"
CASE aliastabla.campoacomparar=10
oimagen.picture="iconosxp\letranopagadax16.bmp"
ENDCASE

ahora al cargar tu grid con datos tendras en cada fila un icono
diferente de acuerdo al campo
que indiques para poder cambiar el icono.
suerte cualquier duda solo consultame al respeto

Hitiel Hernandez B.

unread,
Jul 24, 2009, 1:22:39 PM7/24/09
to Mundo Visual Fox
Ok
 
Lo que he hecho yo es condicionar en el grid si el cliente es igual al nombre del archivo que contiene la fotografía que me la presente (en un recuadro diferente)
Ni siquiera uso el campo general porque se vuelve lento y tedioso.
 
Solo relaciono el archivo de la foto con el código del cliente, es decir:
1- Juan José Campos
En este caso el 1 es el código del cliente, por lo tanto el archivo debe llamarse 1.jpg
El archivo debe estar guardado en alguna carpeta
Si quieres te puedo mandar un ejemplo, via correo, por supuesto


Date: Wed, 17 Jun 2009 15:34:02 -0500
Subject: [Mundo Visual FoxPro] Re: Desplegar Imagenes En Grid
From: zebe...@gmail.com
To: mundovis...@googlegroups.com

di por favor, luego gracias

unread,
Jul 25, 2009, 2:29:20 PM7/25/09
to Mundo Visual FoxPro
hitiel, subilo a este grupo en archivos y asi lo vemos todos porque
estuvimos viendo todos estos ejemplos y los veo con mucha maroma, no
es que uno sea mal agradecido pero mucho codigo para visualizar una
foto, ademas lo identificas diciendo grid con imagen, gracias por la
intencion aunque no es obligacion mandalor pero como aqui se trata de
aprender, ya aperecera otro amigo dentro de tres meses que necesite
algo igual y ahi estaremos nosotros para ayudarles, aunque uno no
conozca a los compañeros pero lo que se trata es de ayudar.

gracias de antemano Hetiel

Daniel Sánchez

unread,
Jul 25, 2009, 3:03:04 PM7/25/09
to mundovis...@googlegroups.com
Bueno, si alguien te dio un ejemplo con lo que necesitabas, yo creo que ya es bastante, si tiene mucho o poco código ya depende como lo puedas mejorar, pero creo yo que lo principal es que te dio una idea de por donde van los tiros, tampoco pidas que te den comido todo, ya depende de tu habilidad de mejorar lo que te alcanzan si te parece que tiene mucho rollo reingenieria por tu parte no estaría mal, no olvides el dicho, no des pescados enséñale a pescarlos.

Suerte
--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil 044-949398047
Trujillo - Perú

Daniel Sánchez

unread,
Jul 26, 2009, 8:14:18 PM7/26/09
to mundovis...@googlegroups.com
Aqui unos ejemplos de colocar imagenes en un grid que utilizo en mi software
inicio de sesion.JPG
listado de clientes.JPG
utilidades del sistema.JPG

di por favor, luego gracias

unread,
Jul 27, 2009, 2:03:54 PM7/27/09
to Mundo Visual FoxPro
daniel se da la impresion de que cada frase que escribes, la escribes
como que si quisieras tener una pistola y descargarla ala gente que no
hace lo que tu dices pobre gente que vive contigo, se hecha de ver que
cuando no hacen lo que tu dices te ofenden, tene cuidado vivi la vida
con tranquilidad, aqui nada es a la fuerza sabias que a la fuerza ni
la comida cae bien.

Bueno, si alguien te dio un ejemplo con lo que necesitabas, yo creo
que ya
es bastante , si tiene mucho o poco código ya depende como lo puedas
mejorar, pero creo yo que lo principal es que te dio una idea de por
donde van los
tiros,
aqui parece que no queres que nuestra comunidad se de a conocer que lo
que tu sabes ahi se quede

tampoco pidas que te den comido todo.
aqui oarece que queres mandar a la demas personas, que sos una persona
dominante, que queres que las personas seas conformitas

como crees que llegaron los segundos austronautas que fueron a la luna
por los primeros.

no olvides el dicho, no des pescados enséñale a pescarlos.
quisiera saber si cuando comensastes a programar, no preguntabas a
cada momento, preguntar no creas que solo a personas a los libros
tambien es preguntar, googlear, tambien es preguntar.

por eso dice cada cabeza es un mundo, cada quien piensa diferente a
ti, cada vez que te anojas, te da taquicardia, te pones enojado,
acercartea ti ya sean tus hijos o tu esposa, es un peligro no sabes
como les vas a contestar, en que tono hablaras y todo por una
solicitud que se hizo a un grupo en donde aqui nada es a la fuerza,
pensalo y vivi la vida con tranquilidad, pensa que estas a la orilla
de un lago, viendo los peces que se muevan, en donde ellos solo
disfrutan y comen y nose enojan.

tu ami, mario desde el salvador
espero ser tu amigo un dia.




Juan Moreyra

unread,
Jul 29, 2009, 9:33:34 AM7/29/09
to mundovis...@googlegroups.com
Aqui en: http://groups.google.com.pe/group/mundovisualfoxpro/files

Descargate el que dice Imagenes_en_grid.zip
 
Te muetsra diferentes imagenes en un grid, teniendo el nombre del archivo en una columna
 
revisalo, el codigo es simple, y supongo que con este ejemplo harias algo
 
Saludos.
 
 
 





 
> Date: Thu, 25 Jun 2009 15:53:16 -0700

> Subject: [Mundo Visual FoxPro] Re: Desplegar Imagenes En Grid
Reply all
Reply to author
Forward
0 new messages