Refrescar imagen

Refrescar imagen

Postby jrestojeda » Tue Sep 18, 2007 2:14 pm

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.
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Postby Carlos Mora » Tue Sep 18, 2007 2:55 pm

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
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Postby jrestojeda » Tue Sep 18, 2007 3:54 pm

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.
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Postby MOISES » Tue Sep 18, 2007 4:52 pm

Añade oDlg:Update()

y en el redefine bitmap UPDATE
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Postby jrestojeda » Tue Sep 18, 2007 5:52 pm

Gracias Moises

Probé lo que me recomendaste pero sigue sin funcionar.

Saludos.
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Postby AOKISANTOS » Tue Sep 18, 2007 6:14 pm

readbimap(0,"caminho")
FWH25+XHARBOUR 99.50
AOKISANTOS
 
Posts: 210
Joined: Sun Jul 23, 2006 1:15 am

Postby Armando » Tue Sep 18, 2007 6:43 pm

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
Armando
 
Posts: 3235
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby jrestojeda » Tue Sep 18, 2007 7:38 pm

Gracias a todos por su ayuda.

Ya logré solucionar el problema de la siguiente manera

Code: Select all  Expand view  RUN
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  Expand view  RUN
   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.
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 41 guests