Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/08/2008, 10:18
Avatar de Txoco
Txoco
 
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: Imagenes en msflexgrid

Hola!

En el evento Reposition del Data Control, o en la función que utilices para obtener los datos, haz una llamada a LoadPicture:

Código:
   Set <control>.Picture = LoadPicture(<ruta completa de la fotografía>)
Si existe la posibilidad de que la imagen no se pueda encontrar, debes comprobar primero si es accesible. Hay varios métodos, pero el más directo es utilizar Dir:

Código:
    If LenB(Dir(<ruta completa de la fotografía>)) > 0 Then
        Set <control>.Picture = LoadPicture(<ruta de la foto>)
    Else
        Set <control>.Picture = LoadPicture
    End If
LoadPicture sin argumentos carga una especie de objeto vacío, que lo que haría sería dejar el control indicado en blanco, útil para que se borre si no se encuentra la imagen, pero si el fichero indicado en el argumento no se encuentra, te dará un error interceptable.

La forma de comparar la cadena utilizando LenB es una optimización que aprendí no hace tanto, y te la he puesto aquí porque este punto de tu programa es conveniente que sea lo más rápido posible, ya que la carga de imágenes es un proceso bastante pesado. Para que te hagas una idea, If LenB(cadena)>0 es lo mismo que If cadena <> "" o If cadena <> vbNullString... pero bastante más rápido.
__________________
wile sona li mute e sona