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