FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour GIF animados para FWH sin usar DLLs externas!
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
GIF animados para FWH sin usar DLLs externas!
Posted: Mon Apr 07, 2008 10:32 PM

Funcionando sin necesidad de ninguna DLL externa :-)

Aqui teneis un primer ejemplo:

http://rapidshare.com/files/105699956/test.zip.html

Haciendo click sobre el GIF lo detienes, y otro click lo anima

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 270
Joined: Fri Nov 11, 2005 07:39 PM
GIF animados para FWH sin usar DLLs externas!
Posted: Mon Apr 07, 2008 11:08 PM

Excelente Antonio:

Esa mejora viene en el nuevo build de Abril ??

Saludos,

Juan
==> Pasando a FWH16.04 + Harbour32 + BCC70 + PellesC
=> Abandonando FWH 13.7 + xHarbour + BCC582
http://www.mitaller.cl
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
GIF animados para FWH sin usar DLLs externas!
Posted: Tue Apr 08, 2008 06:56 AM

Si, una nueva clase TGif para la versión 8.04 :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM
Re
Posted: Tue Apr 08, 2008 10:24 AM

Muy buenas, Una pregunta ¿Tiene algúna propiedad para la velocidad del gif?

Un Saludo.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
GIF animados para FWH sin usar DLLs externas!
Posted: Tue Apr 08, 2008 02:07 PM

Si, nuestra intención es que pueda modificarse la velocidad de pintado de las distintas imágenes del GIF.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 654
Joined: Mon May 29, 2006 03:14 PM
GIF animados para FWH sin usar DLLs externas!
Posted: Fri Oct 17, 2008 06:32 PM
Como hago para que ese gif se vea en un DIALOGO. Como código fuente y como recursos.

Existe para el RC algo si:
CONTROL "", 1000, "TGit", 0 | WS_CHILD | WS_VISIBLE, 300, 10, 70, 110

Y en el código del PRG algo asi:
REDEFINE GIF NAME "sample.gif" ID 1000 OF oDlg
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.

FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
GIF animados para FWH sin usar DLLs externas!
Posted: Fri Oct 17, 2008 07:35 PM
Jose María,

El método Redefine() de la Clase TGif aún no está implementado. De momento lo que puedes hacer es crear el control GIF desde la claúsula ON INIT del diálogo:
ACTIVATE DIALOG oDlg ON INIT BuildGif( oDlg )

...
function BuildGif( oDlg )

   TGif():New( oDlg, "test.gif", 10, 10 )

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 654
Joined: Mon May 29, 2006 03:14 PM
GIF animados para FWH sin usar DLLs externas!
Posted: Sat Oct 18, 2008 09:35 AM

¡¡¡ Funciona !!!

Ahora solo me falta "parar" y "arrancar" el GIF a voluntad ¿ como ?

Quisiera saber, ademas:
Como reducir de tamaño un GIF.
Como poner GIFs en recursos (RC) y como llamarlos.
Como dejar un GIF con fondo trasparente.

Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.

FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Re: GIF animados para FWH sin usar DLLs externas!
Posted: Tue Apr 20, 2021 03:32 AM

HOLA

a un no se puede redefinir un GIF :?:

REDEFINE GIF oGif ID 4011 OF oSof FILENAME cfile ADJUST

Saluditos :wink:

Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: GIF animados para FWH sin usar DLLs externas!
Posted: Tue Apr 20, 2021 09:58 AM
Aida,

Aqui tienes una primera versión funcionando. La incluiremos en FWH 21.03

tgif.prg
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "gif.ch"


CLASS TGif FROM TControl

   DATA  hGif
   DATA  cFilename
   DATA  lAdjust
   DATA  nSizingType
   
   CLASSDATA lRegistered
   
   METHOD New( oWnd, cGifFile, nRow, nCol,;
            nHeight, nWidth, oCursor, lAdjust, bAction )

   METHOD Redefine( nId, oWnd, cGifFile, lAdjust )         
    
   METHOD GetData() INLINE GetGifInfo( ::hGif )
   
   METHOD Play() INLINE FWGifPlay( ::hGif )
   METHOD Stop() INLINE FWGifStop( ::hGif )
   
   METHOD Restart() INLINE FWGifRestart( ::hGif )
   
   METHOD IsRunning() INLINE FWGifIsRunning( ::hGif )
   
   METHOD Destroy() INLINE FWGifEnd()
   
   METHOD SetFile( cFile ) INLINE ::cFileName := cFile, SetWindowText( ::hGif, cFile )
   
   METHOD SetSizing( nType ) INLINE FWSetGIFSizing( ::hGif, nType ) 
   
   METHOD Refresh()   
   
   METHOD ReSize( nSizeType, nWidth, nHeight ) INLINE ::SetSize( nWidth, nHeight, .T. ),;
                                                      WndSetSize( ::hGif, nWidth, nHeight, .T. )
   METHOD Initiate( hDlg ) INLINE  ::Super:Initiate( hDlg ), ::Default()

   METHOD Default()

ENDCLASS

//----------------------------------------------------------------//

METHOD New( oWnd, cGifFile, nRow, nCol,;
            nHeight, nWidth, oCursor, lAdjust, bAction ) CLASS TGif

    local aData, nNewWidth, nNewHeight, nSizingType
    local hRes
    local cDir, cTempfile

    DEFAULT oWnd    := GetWndDefault(),;
            nRow    := 0,;
            nCol    := 0,;
            lAdjust := .F.
   
   ::nTop    = nRow
   ::nLeft   = nCol
   ::nStyle  = nOR( WS_CHILD, WS_VISIBLE, WS_CLIPCHILDREN )

   ::bLClicked = bAction
   
   ::nSizingType = FWGIF_SIZING_FILE
   
   if nHeight == nil .or. nWidth == nil
      ::nBottom = 100
      ::nRight  = 100
   else
      ::nBottom = nHeight + nRow
      ::nRight = nWidth + nCol
      ::nSizingType = FWGIF_SIZING_CLIP
   endif
        
   ::oWnd    = oWnd
   ::oCursor = oCursor

   ::cFileName = cGifFile
   ::oBrush    = oWnd:oBrush
   ::lAdjust   = lAdjust

   ::Register( )

   if ! Empty( oWnd:hWnd )
      ::Create()
      ::lVisible = .t.
      oWnd:AddControl( Self )
   else
      oWnd:DefControl( Self )
      ::lVisible  = .f.
   endif

   ::Default()

return self

//----------------------------------------------------------//

METHOD Redefine( nId, oWnd, cGifFile, lAdjust )         

   DEFAULT lAdjust := .T. 

   ::cFileName = cGifFile
   ::lAdjust   = lAdjust

   ::Register( nOR( CS_VREDRAW, CS_HREDRAW ) )

   if oWnd != nil
      ::oWnd = oWnd
      oWnd:DefControl( Self )
   endif

return Self

//----------------------------------------------------------//

METHOD Default() CLASS TGif

   local hRes, cDir, cTempFile
   local cGifFile := ::cFileName
   local aData, nNewWidth, nNewHeight, nSizingType

   if ! Empty( cGifFile ) .and. ! File( cGifFile )
      hRes  = FindResource( GetResources(), cGifFile, 10 )
      If Empty( hres )
         return nil
      else
         cDir   = GetEnv( "TEMP" )
         if Empty( cDir )
            cDir = GetEnv( "TMP" )
         endif
         cTempfile = cDir + cTempFile( "\", "gif" )
         RCDataToFile( 0, cGifFile, cTempfile )
      endif
   endif   

   If ! Empty( cTempfile )
      ::hGif = FWGifWindow( cTempFile, 0, 0, ::nWidth, ::nHeight, ::hWnd )
   else
      ::hGif = FWGifWindow( cGifFile, 0, 0, ::nWidth, ::nHeight, ::hWnd )
   endif  

   aData = ::GetData()
   
   if ::lAdjust
      nNewWidth  = aData[ FWGIF_WIDTH ]
      nNewHeight = aData[ FWGIF_HEIGHT ]      
   else
      nNewWidth  = ::nWidth
      nNewHeight = ::nHeight
   endif

   ::ReSize( , nNewWidth, nNewHeight )

   if ::lAdjust
      ::nSizingType = FWGIF_SIZING_STRETCH
   endif      
   ::SetSizing( ::nSizingType )

   If ! Empty( cTempfile )
      FErase( cTempfile )
   endif

return nil

//----------------------------------------------------------//

METHOD Refresh() CLASS TGif

   local nSizingType := ::nSizingType
   local aData := ::GetData()
   local nNewWidth := aData[ FWGIF_WIDTH ],;
         nNewHeight := aData[ FWGIF_HEIGHT ]
     
   
   if ::lAdjust  
      if nSizingType != FWGIF_SIZING_STRETCH
         nSizingType = FWGIF_SIZING_STRETCH
      endif
   else
      if nSizingType = FWGIF_SIZING_CLIP
         nNewWidth   = ::nWidth
         nNewHeight  = ::nHeight
      else
         nSizingType = FWGIF_SIZING_FILE 
         nNewWidth   = aData[ FWGIF_WIDTH ]
         nNewHeight  = aData[ FWGIF_HEIGHT ]
      endif
   endif      
   
   ::SetSizing( nSizingType )

   ::ReSize( , nNewWidth, nNewHeight )
   
   ::nSizingType = nSizingType
   
return ::Refresh()


Aqui un ejemplo de uso:

testgifr.prg
Code (fw): Select all Collapse
// Animated GIFs support for FWH

#include "FiveWin.ch"

function Main()

   local oDlg, oGif
   
   DEFINE DIALOG oDlg RESOURCE "test" TITLE "A modal dialog"
   
   REDEFINE GIF oGif ID 101 OF oDlg RESOURCE "..\gifs\halo.gif"

   ACTIVATE DIALOG oDlg CENTERED
   
return nil


testgifr.rc
Code (fw): Select all Collapse
TEST DIALOG 61, 39, 294, 219
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "TGif Redefine support"
FONT 8, "MS Sans Serif"
{
 CONTROL "", 101, "TGif", 0 | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 10, 140, 170
 DEFPUSHBUTTON "OK", IDOK, 82, 200, 50, 14
 PUSHBUTTON "Cancel", IDCANCEL, 142, 200, 50, 14
}


Y finalmente el nuevo comando:
Code (fw): Select all Collapse
#xcommand REDEFINE GIF [ <oGif> ] ;
             [ ID <nId> ] ;
             [ <of: OF, WINDOW, DIALOG> <oWnd> ] ;
             [ <resource: NAME, RESNAME, RESOURCE> <cResName> ] ;
             [ <adjust: ADJUST> ] ;
       => ;
          [ <oGif> := ] TGif():ReDefine( <nId>, <oWnd>, <cResName>, <.adjust.> )
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: GIF animados para FWH sin usar DLLs externas!
Posted: Tue Apr 20, 2021 01:34 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Re: GIF animados para FWH sin usar DLLs externas!
Posted: Tue Apr 20, 2021 11:20 PM
Antonio super genial como siempre :-) :-)



Muchas gracias lo probare :-)

Saluditos :-)




Antonio Linares wrote:Aida,

Aqui tienes una primera versión funcionando. La incluiremos en FWH 21.03

tgif.prg
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "gif.ch"


CLASS TGif FROM TControl

   DATA  hGif
   DATA  cFilename
   DATA  lAdjust
   DATA  nSizingType
   
   CLASSDATA lRegistered
   
   METHOD New( oWnd, cGifFile, nRow, nCol,;
            nHeight, nWidth, oCursor, lAdjust, bAction )

   METHOD Redefine( nId, oWnd, cGifFile, lAdjust )         
    
   METHOD GetData() INLINE GetGifInfo( ::hGif )
   
   METHOD Play() INLINE FWGifPlay( ::hGif )
   METHOD Stop() INLINE FWGifStop( ::hGif )
   
   METHOD Restart() INLINE FWGifRestart( ::hGif )
   
   METHOD IsRunning() INLINE FWGifIsRunning( ::hGif )
   
   METHOD Destroy() INLINE FWGifEnd()
   
   METHOD SetFile( cFile ) INLINE ::cFileName := cFile, SetWindowText( ::hGif, cFile )
   
   METHOD SetSizing( nType ) INLINE FWSetGIFSizing( ::hGif, nType ) 
   
   METHOD Refresh()   
   
   METHOD ReSize( nSizeType, nWidth, nHeight ) INLINE ::SetSize( nWidth, nHeight, .T. ),;
                                                      WndSetSize( ::hGif, nWidth, nHeight, .T. )
   METHOD Initiate( hDlg ) INLINE  ::Super:Initiate( hDlg ), ::Default()

   METHOD Default()

ENDCLASS

//----------------------------------------------------------------//

METHOD New( oWnd, cGifFile, nRow, nCol,;
            nHeight, nWidth, oCursor, lAdjust, bAction ) CLASS TGif

    local aData, nNewWidth, nNewHeight, nSizingType
    local hRes
    local cDir, cTempfile

    DEFAULT oWnd    := GetWndDefault(),;
            nRow    := 0,;
            nCol    := 0,;
            lAdjust := .F.
   
   ::nTop    = nRow
   ::nLeft   = nCol
   ::nStyle  = nOR( WS_CHILD, WS_VISIBLE, WS_CLIPCHILDREN )

   ::bLClicked = bAction
   
   ::nSizingType = FWGIF_SIZING_FILE
   
   if nHeight == nil .or. nWidth == nil
      ::nBottom = 100
      ::nRight  = 100
   else
      ::nBottom = nHeight + nRow
      ::nRight = nWidth + nCol
      ::nSizingType = FWGIF_SIZING_CLIP
   endif
        
   ::oWnd    = oWnd
   ::oCursor = oCursor

   ::cFileName = cGifFile
   ::oBrush    = oWnd:oBrush
   ::lAdjust   = lAdjust

   ::Register( )

   if ! Empty( oWnd:hWnd )
      ::Create()
      ::lVisible = .t.
      oWnd:AddControl( Self )
   else
      oWnd:DefControl( Self )
      ::lVisible  = .f.
   endif

   ::Default()

return self

//----------------------------------------------------------//

METHOD Redefine( nId, oWnd, cGifFile, lAdjust )         

   DEFAULT lAdjust := .T. 

   ::cFileName = cGifFile
   ::lAdjust   = lAdjust

   ::Register( nOR( CS_VREDRAW, CS_HREDRAW ) )

   if oWnd != nil
      ::oWnd = oWnd
      oWnd:DefControl( Self )
   endif

return Self

//----------------------------------------------------------//

METHOD Default() CLASS TGif

   local hRes, cDir, cTempFile
   local cGifFile := ::cFileName
   local aData, nNewWidth, nNewHeight, nSizingType

   if ! Empty( cGifFile ) .and. ! File( cGifFile )
      hRes  = FindResource( GetResources(), cGifFile, 10 )
      If Empty( hres )
         return nil
      else
         cDir   = GetEnv( "TEMP" )
         if Empty( cDir )
            cDir = GetEnv( "TMP" )
         endif
         cTempfile = cDir + cTempFile( "\", "gif" )
         RCDataToFile( 0, cGifFile, cTempfile )
      endif
   endif   

   If ! Empty( cTempfile )
      ::hGif = FWGifWindow( cTempFile, 0, 0, ::nWidth, ::nHeight, ::hWnd )
   else
      ::hGif = FWGifWindow( cGifFile, 0, 0, ::nWidth, ::nHeight, ::hWnd )
   endif  

   aData = ::GetData()
   
   if ::lAdjust
      nNewWidth  = aData[ FWGIF_WIDTH ]
      nNewHeight = aData[ FWGIF_HEIGHT ]      
   else
      nNewWidth  = ::nWidth
      nNewHeight = ::nHeight
   endif

   ::ReSize( , nNewWidth, nNewHeight )

   if ::lAdjust
      ::nSizingType = FWGIF_SIZING_STRETCH
   endif      
   ::SetSizing( ::nSizingType )

   If ! Empty( cTempfile )
      FErase( cTempfile )
   endif

return nil

//----------------------------------------------------------//

METHOD Refresh() CLASS TGif

   local nSizingType := ::nSizingType
   local aData := ::GetData()
   local nNewWidth := aData[ FWGIF_WIDTH ],;
         nNewHeight := aData[ FWGIF_HEIGHT ]
     
   
   if ::lAdjust  
      if nSizingType != FWGIF_SIZING_STRETCH
         nSizingType = FWGIF_SIZING_STRETCH
      endif
   else
      if nSizingType = FWGIF_SIZING_CLIP
         nNewWidth   = ::nWidth
         nNewHeight  = ::nHeight
      else
         nSizingType = FWGIF_SIZING_FILE 
         nNewWidth   = aData[ FWGIF_WIDTH ]
         nNewHeight  = aData[ FWGIF_HEIGHT ]
      endif
   endif      
   
   ::SetSizing( nSizingType )

   ::ReSize( , nNewWidth, nNewHeight )
   
   ::nSizingType = nSizingType
   
return ::Refresh()


Aqui un ejemplo de uso:

testgifr.prg
Code (fw): Select all Collapse
// Animated GIFs support for FWH

#include "FiveWin.ch"

function Main()

   local oDlg, oGif
   
   DEFINE DIALOG oDlg RESOURCE "test" TITLE "A modal dialog"
   
   REDEFINE GIF oGif ID 101 OF oDlg RESOURCE "..\gifs\halo.gif"

   ACTIVATE DIALOG oDlg CENTERED
   
return nil


testgifr.rc
Code (fw): Select all Collapse
TEST DIALOG 61, 39, 294, 219
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "TGif Redefine support"
FONT 8, "MS Sans Serif"
{
 CONTROL "", 101, "TGif", 0 | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 10, 140, 170
 DEFPUSHBUTTON "OK", IDOK, 82, 200, 50, 14
 PUSHBUTTON "Cancel", IDCANCEL, 142, 200, 50, 14
}


Y finalmente el nuevo comando:
Code (fw): Select all Collapse
#xcommand REDEFINE GIF [ <oGif> ] ;
             [ ID <nId> ] ;
             [ <of: OF, WINDOW, DIALOG> <oWnd> ] ;
             [ <resource: NAME, RESNAME, RESOURCE> <cResName> ] ;
             [ <adjust: ADJUST> ] ;
       => ;
          [ <oGif> := ] TGif():ReDefine( <nId>, <oWnd>, <cResName>, <.adjust.> )
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Re: GIF animados para FWH sin usar DLLs externas!
Posted: Wed Apr 21, 2021 12:15 AM

ya aplique todo correctamente
compila sin errores
pero al ejecutar :shock:

Time from start: 0 hours 0 mins 9 secs
Error occurred at: 20/04/2021, 19:12:38
Error description: Error FiveWin/1 Non defined Id: No: 175

Stack Calls

Called from: .\source\classes\CONTROL.PRG => TCONTROL:INITIATE( 452 )
Called from: NGIF.prg => (b)TGIF:TGIF( 45 )
Called from: => TGIF:INITIATE( 0 )
Called from: => __OBJSENDMSG( 0 )
Called from: => HB_EXECFROMARRAY( 0 )
Called from: .\source\function\HARBOUR.PRG => OSEND( 300 )
Called from: => HB_EXECFROMARRAY( 0 )
Called from: .\source\function\HARBOUR.PRG => ASEND( 278 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:INITIATE( 805 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 1124 )
Called from: => DIALOGBOX( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 304 )
Called from: model.prg => TABLAS( 6791 )
Called from: model.prg => (b)BUILDMENU( 17055 )
Called from: .\source\classes\MENU.PRG => TMENU:COMMAND( 1563 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:COMMAND( 1141 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3559 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1097 )
Called from: model.prg => MAIN( 765 )

ESE RECURSO 175 NO LO USO PERO EN EL RECURSO COLOQUE UNO CON EL 175 PARA PROBAR Y AL EJECUTAR TRUENA EL PROGRAMA :shock:

Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Re: GIF animados para FWH sin usar DLLs externas!
Posted: Wed Apr 21, 2021 12:41 AM
AIDA wrote:ya aplique todo correctamente
compila sin errores
pero al ejecutar :-)

Time from start: 0 hours 0 mins 9 secs
Error occurred at: 20/04/2021, 19:12:38
Error description: Error FiveWin/1 Non defined Id: No: 175

Stack Calls
===========
Called from: .\source\classes\CONTROL.PRG => TCONTROL:INITIATE( 452 )
Called from: NGIF.prg => (b)TGIF:TGIF( 45 )
Called from: => TGIF:INITIATE( 0 )
Called from: => __OBJSENDMSG( 0 )
Called from: => HB_EXECFROMARRAY( 0 )
Called from: .\source\function\HARBOUR.PRG => OSEND( 300 )
Called from: => HB_EXECFROMARRAY( 0 )
Called from: .\source\function\HARBOUR.PRG => ASEND( 278 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:INITIATE( 805 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 1124 )
Called from: => DIALOGBOX( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 304 )
Called from: model.prg => TABLAS( 6791 )
Called from: model.prg => (b)BUILDMENU( 17055 )
Called from: .\source\classes\MENU.PRG => TMENU:COMMAND( 1563 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:COMMAND( 1141 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3559 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1097 )
Called from: model.prg => MAIN( 765 )

ESE RECURSO 175 NO LO USO PERO EN EL RECURSO COLOQUE UNO CON EL 175 PARA PROBAR Y AL EJECUTAR TRUENA EL PROGRAMA :-)



TU EJEMPLO FUNCIONA PERFECTO ENTONCES ALGO EN MI CODIGO CAUSA EL PROBLEMA :-)

Code (fw): Select all Collapse
function ESTO()

   local oDlg, oGif

   DEFINE DIALOG oDlg RESOURCE "test" TITLE "A modal dialog"

   REDEFINE GIF oGif ID 101 OF oDlg RESOURCE "..\gifs\halo.gif"

   ACTIVATE DIALOG oDlg CENTERED

return nil
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Re: GIF animados para FWH sin usar DLLs externas!
Posted: Wed Apr 21, 2021 12:51 AM
SI PONGO UN GIF MAS GRANDE Y USO EL ADJUST

en lugar de ajustar el gif al tamaño del cuadro del recurso TGif el gif se desborda :-)

TAMBIEN SI USO UN BRUSH YA NI SE EJECUTA :-)

Code (fw): Select all Collapse
function ESTO()

   local oDlg, oGif,oBrush

  DEFINE BRUSH oBrush FILE "FOND\fondito.BMP"

 DEFINE DIALOG oDlg RESOURCE "TEST" TITLE "A modal dialog" BRUSH oBrush TRANSPARENT


   REDEFINE GIF oGif ID 101 OF oDlg RESOURCE "..\gifs\halo.gif" //ADJUST

   ACTIVATE DIALOG oDlg CENTERED

return nil




Saluditos :-)
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ