Page 1 of 1

ejemplo de foto jpg en un dialogo desde resources

PostPosted: Sun Oct 21, 2007 6:27 pm
by MANOLO
Hola tengo el fw21, y cuando intento poner un tbitmap desde resource que coja un fichero jpg, este no lo pinta, sin embargo el mismo jpg desde el ejemplo de fw21 testimg.prg si que lo pinta, utilizo lo siguiente:


Code: Select all  Expand view
  REDEFINE BITMAP oImage file aDat[36] ID 13 OF oDlt ADJUST UPDATE



      REDEFINE BUTTON ID 1001 OF oDlt ACTION (lReg:=.T.,oDlt:End())
      REDEFINE BUTTON ID 1002 OF oDlt ACTION oDlt:End()
      redefine button id 134 of oDlt action (prepro(cart,aDat)) when !lnew

      REDEFINE BUTTON ID   16 OF ODLT ACTION  (adat[36]:=GETIMAGE(oImage,oDlt),ot:oDat[12]:refresh())

static Function GetImage( oImage ,oDlt)

   local gcFile := cGetFile( "JPEG   (*.jpg)| *.jpg|" +         ;
                             "DIB   (*.dib)| *.dib|" +          ;
                             "PCX   (*.pcx)| *.pcx|"  +         ;
                             "BITMAP (*.bmp)| *.bmp|" +         ;
                             "GIF   (*.gif)| *.gif|"  +         ;
                             "TARGA (*.tga)| *.tga|" +          ;
                             "RLE   (*.rle)| *.rle|" +          ;
                             "Todo Tipo (*.*)| *.*"             ;
                            ,"Seleccione un Fichero de imagen", 4 )

*  oiMAGE:SetBMP("",gcfile)
*  oimage:Reload("",gcfile)
*  oimage:Refresh()
*  oDlt:Update()
   if ! Empty( gcFile ) .and. File( gcFile )
*      oImage:LoadBmp( gcFile )
   oiMAGE:SetBMP("",gcfile)
   oimage:Reload("",gcfile)
   oimage:Refresh()
   oDlt:Update()

   endif

return gcfile


gracias a todos

PostPosted: Sun Oct 21, 2007 7:40 pm
by Antonio Linares
En vez de

REDEFINE BITMAP oImage ...

tienes que usar:

REDEFINE IMAGE oImage ...

y en el recurso usa "TImage" en vez de "TBitmap"

PostPosted: Sun Oct 21, 2007 9:47 pm
by Armando
Mestro:

Y cómo hacer para re pintar una nueva imagen ?, tengo un browse desde recursos con datos de varios productos y un espacio para mostrar la imagen.JPG de cada uno de esos producto tambien desde recursos. lo que necesito es que cuando el usuario se mueva por el browse se muestre la imagen correspondiente al producto.

Si alguien tuviera un ejemplo sera bienvenido.

Saludos

PostPosted: Sun Oct 21, 2007 10:51 pm
by vlmsoft
Hola Armando:

...
REDEFINE LISTBOX oLbx ... ;
ON CHANGE ( ChgImagen(oImg) )

...
REDEFINE IMAGE oImg ID xxx OF oDlg FILE ( cFichero )

....

FUNCTION ChgImagen(oImg)
oImg:LoadImage( ,cFichero )
oIm:Refresh()
RETURN NIL


Saludos.

PostPosted: Mon Oct 22, 2007 1:00 am
by Armando
vlmsoft:

Excelente, funciona de 10 muchas gracias.

Ahora hay este otro detalle, cuando alguna imagen no existe se queda "pegada" la imagen anterior, ¿ cómo lograr quitar la imagen anterior y que quede el espacio vacio cuando la imagen a presentar no exista ?.

Saludos

PostPosted: Mon Oct 22, 2007 4:03 am
by Willi Quintana
Hola Armando...
Cuando requiero "repintar" una imagen, y esta no existe, pues le cargo una imagen en blanco, o una inagen que diga "Imagen No Disponible"

FUNCTION ChgImagen(oImg)
local cFile
cFile := ALLTRIM(Almmas->imag )
If FILE(cFile) .AND. !EMPTY(cFile)
oImg:LoadImage(cFile)
Else
oImg:LoadImage(M->cRutaBmp + "Blanco.Bmp")
EndIf
oImg:Refresh()
Return nil

Donde "Blanco.Bmp" en un grafico con el color del dialogo contenedor y con un mensaje que dice "Imagen No Disponible"...

Salu2

PostPosted: Mon Oct 22, 2007 10:50 am
by MANOLO
Hola antonio, si introduzco REDEFINE IMAGE, me da error que no reconoce el comando, he mirado el fivewin.ch y no existe el redefine image, solo existe el redefine BITMAP, tengo fw21, podrías decirme cual es el problema.

saludos.

PostPosted: Mon Oct 22, 2007 11:44 am
by Antonio Linares
Manolo,

Necesitas una versión más reciente de FW.

Puedes actualizarte desde www.fivetechsoft.com sección pedidos, gracias

PostPosted: Mon Oct 22, 2007 12:47 pm
by Armando
Willi:

Muchas gracias, todo bajo control.

Saludos

PD por la tarde noche te busco en el messenger

PostPosted: Mon Oct 22, 2007 6:49 pm
by MANOLO
Antonio Linares wrote:Manolo,

Necesitas una versión más reciente de FW.

Puedes actualizarte desde www.fivetechsoft.com sección pedidos, gracias


gracias, ya lo solucione integrando xcommand de redefine image en el fivewin.ch

Saludos.
Manolo.