Refrescar imagen

Post Reply
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Refrescar imagen

Post by jrestojeda »

Hola a todos

Estoy cargando una imagen en un dialogo creado con workshop pero cuando cambio el archivo no se actualiza.
Alguien sabe porque puede ser?

Lo estoy haciendo así.

REDEFINE BITMAP oBmp ID 100 OF oDlg FILE Archivo ADJUST UPDATE

...


La variable Archivo la cargo con la funcion con un boton en el dialogo donde redefino el bmp.
Function SelFile(oBmp,Archivo)
Archivo:= cGetFile32("BMP | *.bmp","Seleccione un archivo",1,,,.T.)

oBmp:Refresh()
Return nil
//

Si yo grabo el Path del archivo cierro el dialogo y lo vuelvo a abrir se ve la imagen cargada.
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Post by Carlos Mora »

No es suficiente con el refresh del bitmap, ni se va a enterar automaticamente de que Archivo tenga otro valor.
Antes del refresh llama a SetBMP( Archivo ) o Reload(, Archivo )

Carlos
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Post by jrestojeda »

Carlos gracias por tu ayuda

Lo probé asi

Function SelFile(oBmp,Archivo)
Archivo:= cGetFile32("BMP | *.bmp","Seleccione un archivo",1,,,.T.)

oBmp:SetBMP( Archivo ) // Solo este una vez
oBmp:Reload( , Archivo ) // Solo este una vez
oBmp:Refresh()
Return nil

También probé con ambos al mismo tiempo y no ha funcionado.
Porque puede ser?
Desde ya muchas gracias.
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

Añade oDlg:Update()

y en el redefine bitmap UPDATE
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Post by jrestojeda »

Gracias Moises

Probé lo que me recomendaste pero sigue sin funcionar.

Saludos.
AOKISANTOS
Posts: 210
Joined: Sun Jul 23, 2006 1:15 am

Post by AOKISANTOS »

readbimap(0,"caminho")
FWH25+XHARBOUR 99.50
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

Ojeda:

Mira qué es lo que te devuelve la función cGetFile32(), posiblemente sea problema de rutas o nombres largos.

MsgInfo(Archivo)


Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Post by jrestojeda »

Gracias a todos por su ayuda.

Ya logré solucionar el problema de la siguiente manera

Code: Select all

Function SelFile(oBmp,Foto,oDlg1)
Foto:= cGetFile32("BMP | *.bmp","Seleccione un archivo",1,,,.T.)
oBmp:SetBMP("",Foto)
oBmp:Reload("",Foto)
oBmp:Refresh()
oDlg1:Update()
oDlg1:Refresh()
Return nil
//
y en el dialogo redefino el get de la siguiente forma:

Code: Select all

   REDEFINE BITMAP oBmp ID 106 OF oDlg1 FILE Foto ADJUST UPDATE
   REDEFINE BTNBMP Btn1 ID 107 OF oDlg1 RESOURCE "FLOPPY" LEFT;
      ACTION SelFile(oBmp,@Foto,oDlg1)
y funciona perfectamente. La imagen se refresca en el momento.
Gracias a todos.
Post Reply