GIF animados para FWH sin usar DLLs externas!

GIF animados para FWH sin usar DLLs externas!

Postby Antonio Linares » 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
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jcaro » 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
jcaro
 
Posts: 270
Joined: Fri Nov 11, 2005 7:39 pm

Postby Antonio Linares » Tue Apr 08, 2008 6:56 am

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re

Postby softruz » Tue Apr 08, 2008 10:24 am

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

Un Saludo.
softruz
 
Posts: 485
Joined: Fri Feb 09, 2007 10:34 am

Postby Antonio Linares » Tue Apr 08, 2008 2: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby JmGarcia » Fri Oct 17, 2008 6: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
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby Antonio Linares » Fri Oct 17, 2008 7: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:
Code: Select all  Expand view  RUN
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
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby JmGarcia » Sat Oct 18, 2008 9: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
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: GIF animados para FWH sin usar DLLs externas!

Postby AIDA » Tue Apr 20, 2021 3: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ǝ
User avatar
AIDA
 
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: GIF animados para FWH sin usar DLLs externas!

Postby Antonio Linares » Tue Apr 20, 2021 9:58 am

Aida,

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

tgif.prg
Code: Select all  Expand view  RUN
#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 ::Super:Refresh()  
   
   


Aqui un ejemplo de uso:

testgifr.prg
Code: Select all  Expand view  RUN
// 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: Select all  Expand view  RUN
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: Select all  Expand view  RUN
#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
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: GIF animados para FWH sin usar DLLs externas!

Postby Antonio Linares » Tue Apr 20, 2021 1:34 pm

Image
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42100
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: GIF animados para FWH sin usar DLLs externas!

Postby AIDA » Tue Apr 20, 2021 11:20 pm

Antonio super genial como siempre :D :shock:

Image

Muchas gracias lo probare :mrgreen:

Saluditos :wink:




Antonio Linares wrote:Aida,

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

tgif.prg
Code: Select all  Expand view  RUN
#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 ::Super:Refresh()  
   
   


Aqui un ejemplo de uso:

testgifr.prg
Code: Select all  Expand view  RUN
// 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: Select all  Expand view  RUN
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: Select all  Expand view  RUN
#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ǝ
User avatar
AIDA
 
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: GIF animados para FWH sin usar DLLs externas!

Postby AIDA » 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ǝ
User avatar
AIDA
 
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: GIF animados para FWH sin usar DLLs externas!

Postby AIDA » Wed Apr 21, 2021 12:41 am

AIDA wrote: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:



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

Code: Select all  Expand view  RUN
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ǝ
User avatar
AIDA
 
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: GIF animados para FWH sin usar DLLs externas!

Postby AIDA » 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 :shock:

TAMBIEN SI USO UN BRUSH YA NI SE EJECUTA :shock:

Code: Select all  Expand view  RUN
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 :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
 
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 50 guests