Results 1 to 32 of 32

Thread: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDecoder

  1. #1

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Thumbs up VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDecoder

    This project uses the BitmapDecoder WinRT class to decode a GIF file into its individual frames. These frames can then be rendered into any device context (Form, PictureBox, etc) using vanilla GDI functions.

    A TypeLib with the required WinRT interface definitions is included in the ZIP archive, don't forget to set a reference to it.

    Here's a classic GIF showing Commander Data losing his temper over the once ubiquitous blue screen of death:



    The project also supports more complex GIFs (such as those with partial frames, as well as frames with transparency). Here's how you would play such an animated GIF in a loop on a form, simple and to the point:

    frmGIFPlayer - This is all it takes:
    Code:
    Option Explicit
    
    Private BitmapDecoder As cBitmapDecoder, lCurrentFrame As Long, bAdjustSize As Boolean
    
    Private Sub Form_Load()
        Set BitmapDecoder = New cBitmapDecoder: AutoRedraw = True
        With BitmapDecoder
            .BackgroundBrush = CreateSolidBrush(GetBkColor(hDC))
            If .Decode(App.Path & "\Travolta.gif") Then tmrPlayGIF = True
        End With
    End Sub
    
    Private Sub tmrPlayGIF_Timer()
        With BitmapDecoder
            If .DecoderReady Then
                If Not bAdjustSize Then Width = ScaleX(.ContainerWidth, vbPixels, ScaleMode) + (Width - ScaleWidth): Height = ScaleY(.ContainerHeight, vbPixels, ScaleMode) + (Height - ScaleHeight): bAdjustSize = True
                If lCurrentFrame < .FrameCount Then
                    With .GetFrame(lCurrentFrame + 1)
                        If .FrameReady Then
                            .RenderFrame hDC: tmrPlayGIF.Interval = .NextFrameDelay
                            lCurrentFrame = lCurrentFrame + 1: Set Picture = Image
                        End If
                    End With
                Else
                    lCurrentFrame = 0: Set Picture = LoadPicture: tmrPlayGIF_Timer ' Play the GIF in a loop
                End If
            End If
        End With
    End Sub


    Here is the demo project: GIFPlayer.zip (Updated!) - Download the GIFs above and place them in the project folder as they were too big to include in the attachment or provide your own GIFs for testing.

    Requirements: Windows 10 ("Anniversary Update", July 2016) or later!

  2. #2
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    6,190

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    JFYI, test this animated GIF (does not merge deltas)

    https://github.com/Planet-Source-Cod...r/10cakecp.gif



    This one has troubles too (freezes at certain frame)

    https://github.com/Planet-Source-Cod...rsneeze_e0.gif



    cheers,
    </wqw>

  3. #3

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Red face Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Quote Originally Posted by wqweto View Post
    JFYI, test this animated GIF (does not merge deltas)

    https://github.com/Planet-Source-Cod...r/10cakecp.gif

    Name:  cakecp.gif
Views: 11545
Size:  4.3 KB

    This one has troubles too (freezes at certain frame)

    https://github.com/Planet-Source-Cod...rsneeze_e0.gif

    Name:  kpdrsneeze.gif
Views: 11506
Size:  44.0 KB

    cheers,
    </wqw>
    Hey wqweto, thanks for testing, you the man! Dunno what happened with your post above but the images don't match the links you posted, haha!

    The GIF with the dragon doesn't really freeze, the problem is that frame #9 reports a delay of zero and that effectively stops the timer, lol. Didn't cross my mind to introduce some sort of validation thinking that GIF files should have valid data inside...

    The GIF with the birthday cake is trickier though since it uses "RESTORE_TO_PREVIOUS" disposal mode for one of the frames. I knew this could happen but didn't have such a GIF file for testing. To be honest I'm having some troubles implementing the logic for that. Back to the drawing board I guess...

  4. #4
    PowerPoster Elroy's Avatar
    Join Date
    Jun 2014
    Location
    Near Nashville TN
    Posts
    10,915

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Hey VanGogh,

    I'm interested in this. But, before I jump in, let me ask a couple of questions.

    Are you deconstructing the GIF file's frames? Or are you doing screen captures based on the timing? And, if you're depending on timing, are you examining the timing of each frame (as they can vary).



    Personally, I always use an old PSP Animation Editor program to do this. But having VB6 code to do it would be nice.

    Also, I've written a VB6 animation "capture" program, that writes to a GIF ... but I've never done the reverse.
    Last edited by Elroy; Mar 31st, 2025 at 09:09 AM.
    Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.

  5. #5

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Red face Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Yes, for all the above, deconstructing frames and reading their properties which includes the delay for the next frame!
    Most of the heavy lifting is done automatically by the WinRT classes (decoding the frames and reading their properties), all that remained was drawing the pixels on the hDC.

  6. #6

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Wink Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Just uploaded a new version which fixed the bugs reported above. Download it from the first post above as usual. Now all GIFs should play correctly™!

    Luckily I've found this site which explains the Frame Disposal Methods for dummies! Most of the other avenues discussing GIFs, including AI, had conflicting and/or confusing information about this.

  7. #7
    Junior Member
    Join Date
    Jul 2020
    Posts
    29

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Hello. Your code is not working.
    Attachment 194526
    Name:  screen2.PNG
Views: 11417
Size:  5.5 KB
    Error in - cBitmapDecoder.Decode

    Code:
    Set BitmapDecoderStatics.CreateAsync(m_RandomAccessStream).Completed = .NewDelegateBitmapDecoderCreateAsync(Me, lAsyncOperationsCount)

    A link to yours .tlb I added. I took a random gif animation from Google
    Last edited by Visualman; Apr 3rd, 2025 at 08:29 AM.

  8. #8
    Fanatic Member
    Join Date
    Jun 2016
    Location
    España
    Posts
    632

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Quote Originally Posted by Visualman View Post
    Hello. Your code is not working.
    Attachment 194526
    Name:  screen2.PNG
Views: 11417
Size:  5.5 KB
    Error in - cBitmapDecoder.Decode

    Code:
    Set BitmapDecoderStatics.CreateAsync(m_RandomAccessStream).Completed = .NewDelegateBitmapDecoderCreateAsync(Me, lAsyncOperationsCount)

    A link to yours .tlb I added. I took a random gif animation from Google
    What version of Windows do you have?
    It works perfectly on Windows 11.

    Requirements: Windows 10 (fully updated!)

  9. #9
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    7,667

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    I can maybe see dropping support for Win7 for a good reason... but dropping support even for some Win10 versions still under mainstream support from Microsoft? Tsk tsk....

    (This project uses some interfaces requiring Win10 2004/20H1, haven't checked them all to see if even newer is needed. 1809/RS5 LTSC is under support until 2029).
    Last edited by fafalone; Apr 3rd, 2025 at 12:11 PM.

  10. #10
    Junior Member
    Join Date
    Jul 2020
    Posts
    29

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    My OS: Windows 10 Pro 22H2. Build: 19045.2311

  11. #11

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Cool Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    I did not "drop" any support since I don't have any control over what interfaces are supported in what version of Window 10. Keeping your OS up to date is just elementary good practice. I can understand someone's reluctance to upgrade to Windows 11 but there is no excuse for using an outdated Windows 10 especially since the latest version runs flawlessly.

    Windows 10 version 2004 (build 19041) is required for the interface used to create an array of strings (IVector_HSTRING), otherwise this project would run even on much earlier versions. Unfortunately this array of strings is required to read the metadata properties of images (I've tried passing a null pointer instead and it doesn't work, it absolutely wants an initialized array even with no elements in it). In C# or C++ you would simply use the "New" operator to create such an array but in VB6/tB you need an intermediary interface to create it for you so that's the best I could come up with. I would love to know if there is another solution.

    Quote Originally Posted by Visualman View Post
    Hello. Your code is not working.
    Attachment 194526
    Name:  screen2.PNG
Views: 11417
Size:  5.5 KB
    Error in - cBitmapDecoder.Decode

    Code:
    Set BitmapDecoderStatics.CreateAsync(m_RandomAccessStream).Completed = .NewDelegateBitmapDecoderCreateAsync(Me, lAsyncOperationsCount)

    A link to yours .tlb I added. I took a random gif animation from Google
    This error is not related to the Windows version. You need to set the following registry key:

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Visual Basic\6.0

    There create a new REG_SZ value called AllowUnsafeObjectPassing and set it to 1 for enabled. Then it will magically work!

    This shenanigan is only required for VB6, tB is not affected. I guess I could bypass it by using "DispCallFunc" to set that troublesome property instead of the "Set" operator and then the VB6 compiler would be none the wiser!

  12. #12
    Junior Member
    Join Date
    Jul 2020
    Posts
    29

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Quote Originally Posted by VanGoghGaming View Post
    I did not "drop" any support since I don't have any control over what interfaces are supported in what version of Window 10. Keeping your OS up to date is just elementary good practice. I can understand someone's reluctance to upgrade to Windows 11 but there is no excuse for using an outdated Windows 10 especially since the latest version runs flawlessly.

    Windows 10 version 2004 (build 19041) is required for the interface used to create an array of strings (IVector_HSTRING), otherwise this project would run even on much earlier versions. Unfortunately this array of strings is required to read the metadata properties of images (I've tried passing a null pointer instead and it doesn't work, it absolutely wants an initialized array even with no elements in it). In C# or C++ you would simply use the "New" operator to create such an array but in VB6/tB you need an intermediary interface to create it for you so that's the best I could come up with. I would love to know if there is another solution.



    This error is not related to the Windows version. You need to set the following registry key:

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Visual Basic\6.0

    There create a new REG_SZ value called AllowUnsafeObjectPassing and set it to 1 for enabled. Then it will magically work!

    This shenanigan is only required for VB6, tB is not affected. I guess I could bypass it by using "DispCallFunc" to set that troublesome property instead of the "Set" operator and then the VB6 compiler would be none the wiser!

    I have installed all the updates offered by the Windows Update service. Now I have Build: 19045.2311. It didn't help.
    Then I added the registry parameter.. And yes, it worked.

  13. #13
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    7,667

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Quote Originally Posted by VanGoghGaming View Post
    I did not "drop" any support since I don't have any control over what interfaces are supported in what version of Window 10. Keeping your OS up to date is just elementary good practice. I can understand someone's reluctance to upgrade to Windows 11 but there is no excuse for using an outdated Windows 10 especially since the latest version runs flawlessly.

    Windows 10 version 2004 (build 19041) is required for the interface used to create an array of strings (IVector_HSTRING), otherwise this project would run even on much earlier versions. Unfortunately this array of strings is required to read the metadata properties of images (I've tried passing a null pointer instead and it doesn't work, it absolutely wants an initialized array even with no elements in it). In C# or C++ you would simply use the "New" operator to create such an array but in VB6/tB you need an intermediary interface to create it for you so that's the best I could come up with. I would love to know if there is another solution.



    This error is not related to the Windows version. You need to set the following registry key:

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Visual Basic\6.0

    There create a new REG_SZ value called AllowUnsafeObjectPassing and set it to 1 for enabled. Then it will magically work!

    This shenanigan is only required for VB6, tB is not affected. I guess I could bypass it by using "DispCallFunc" to set that troublesome property instead of the "Set" operator and then the VB6 compiler would be none the wiser!
    It's not outdated when there's 4 years of regular, non-ESU security updates remaining.

    By your same standard there's no way to call *any* Windows 10 not outdated.

  14. #14
    Junior Member
    Join Date
    Jul 2020
    Posts
    29

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Quote Originally Posted by Visualman View Post
    I have installed all the updates offered by the Windows Update service. Now I have Build: 19045.2311. It didn't help.
    Then I added the registry parameter.. And yes, it worked.

    Sorry, Now I have Build: 19045.5608

  15. #15

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Thumbs up Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Yes mate, it's irrelevant what build you have as long as it's been released after May 27, 2020. You have already solved that pesky error with the registry fix so you're good to go now!

  16. #16

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Cool Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    New version uploaded in the first post above, major improvements:

    • Now the player will start rendering frames immediately without waiting for all GIF frames to be decoded first. This results in a great performance boost, especially for huge GIFs with hundreds of rather large frames, now they all start playing instantly.
    • You no longer need the registry fix outlined above, with this new version the program works fine without it.

  17. #17
    Fanatic Member
    Join Date
    Jun 2016
    Location
    España
    Posts
    632

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Great work, VanGoghGaming.
    Just so you know, the GIF takes about 5 seconds to load.

    Regards

  18. #18

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Wink Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    It starts playing instantly mate, already tested both in IDE and EXE as well as on another computer with Windows 11 and a virtual machine with Windows 10.

  19. #19
    PowerPoster yereverluvinuncleber's Avatar
    Join Date
    Feb 2014
    Location
    Norfolk UK (inbred)
    Posts
    3,560

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Love it but it has to run on Win 7 and preferably XP.
    https://github.com/yereverluvinunclebert

    Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.

    By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.

  20. #20
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    7,667

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    I'm going try going through WIC; that must be what WinRT is using under the hood instead of gdip.

  21. #21

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Cool Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Quote Originally Posted by yereverluvinuncleber View Post
    Love it but it has to run on Win 7 and preferably XP.
    If it doesn't work on Commodore 64, it's all for nothing!

    Quote Originally Posted by fafalone View Post
    I'm going try going through WIC; that must be what WinRT is using under the hood instead of gdip.
    I've just scoured the SDK in search for an alternate IVector_HSTRING solution that would work on earlier versions of Windows 10 and luckily I found a viable candidate that should work on the Windows 10 "Anniversary Update", July 2016 edition, although I have no way to verify this claim. Would you mind giving it a go and confirming it works for you? Cheers!

    There's also a new feature in this version. Now you can set a "ScaleFactor" property (floating point) that takes advantage of the scaling capabilities of the BitmapTransform class in order to play the GIF at different sizes. The quality of scaled images is quite good (especially for shrinking, that is ScaleFactor < 1), since it uses the new BitmapInterpolationMode_Fant setting.

  22. #22
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    7,667

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    New version is still asking for the same Windows.Devices.Printers.IppAttributeValue, which still fails. The original first post up top right? I didn't see any other download.

    My new control is now out, and should work back to Windows 7, possibly XP SP2. And 64bit.

  23. #23

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Wink Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Quote Originally Posted by fafalone View Post
    New version is still asking for the same Windows.Devices.Printers.IppAttributeValue, which still fails. The original first post up top right? I didn't see any other download.
    Somehow an older version got uploaded instead, fixed it now. Try again please.

    My new control is now out, and should work back to Windows 7, possibly XP SP2. And 64bit.
    Yeah, I was going to check it out for sure, I've been waiting for you to iron out the kinks first. I was wondering which approach is more suitable between WIC and WinRT. Somehow I think WIC is a lower level framework that requires more work to get things done.

    Also now I want to port this WinRT version to twinBasic 64-bit and see how it goes since I'm satisfied with it in VB6.

  24. #24
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    7,667

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Yup working in Win10 1809 now, good work!

    Yeah WinRT does seem a bit simpler here, though maybe a wash since I was working in tB/WinDevLib so didn't need to write any new interface or API definitions (yes yes I'm the original author so I did write most of it at some point, but I also took a lot of the Direct2D stuff from The trick's typelib ). I'm fairly certain WinRT is wrapping WIC here; it's using the same metadata strings like "/logscrdesc/Width" and datatypes (UI2 for that one). So you get the traditional tradeoffs... simpler, but adding performance overhead and limiting access to lower level details. Overall I think we're both into advanced territory here. Seems unavoidable, given I was using assembly instruction patching to try to make IShellImageData better first

    Gdip would have been the winning method I think, if not for the bugs. Maybe The trick will find a solution, certainly if anyone can, he can.

    Did find a few kinks in mine in the hours after release, all related to loop behavior that I didn't notice since none of the test gifs were affected (or at least would take a while; the dragon gif has a loop limit of 1000).

    The 32bit version of your project works fine in tB already, so I'm sure 64bit will too once the necessary adjustments are made.
    Last edited by fafalone; Apr 9th, 2025 at 05:45 PM.

  25. #25

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Talking Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Yeah, tB has the advantage of including interfaces in code so the TypeLib can be removed. Also kinda bummed out that VB6 has that pesky restriction about private objects not being allowed as arguments or return values for WinRT methods. The solution for that is either setting the AllowUnsafeObjectPassing registry key or using a light weight object instead like I did here. tB is not bothered by this so I can remove the light weight object module.

  26. #26
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    6,190

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    > The solution for that is either setting the AllowUnsafeObjectPassing registry key or using a light weight object instead like I did here.

    You can also use a Form (not kidding) instead of a private class.

    cheers,
    </wqw>

  27. #27

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    Yeah, I know forms are treated as public objects in this regard but the delegate object is used so intensively that it would create quite a bit of overhead here...

  28. #28
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    6,190

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    There was a bitflip solution (by The Trick) traversing VBProject internal metadata at run-time which I cannot find from my phone.

  29. #29

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Talking Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    I think you are referring to this post by dz32. In this case where delegates are called recursively many times I think the light-weight solution offers the best performance.

    I don't know if you looked at the source code but I had to introduce some sort of throttling when processing GIF frames because sometimes it would run out of stack space especially with huge GIFs containing hundreds of frames.

  30. #30

  31. #31
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    7,667

    Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    For a lot of those I'm not sure what the proper behavior is supposed to be; some are different from my browser, but is the browser absolutely correct? (different in ways that aren't obviously wrong like no image or no animation)
    Last edited by fafalone; Jun 27th, 2025 at 04:08 PM.

  32. #32

    Thread Starter
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,644

    Wink Re: VB6 - Simple Animated GIF Player (supports transparency) using WinRT / BitmapDeco

    The browser could be regarded as the de-facto standard in absence of a more authoritative source. Just for kicks here's another version of this project using XAML Islands to load an Image control that takes care of playing the animated GIFs (it can also load a GIF from a URL). It's a twinBASIC project, I haven't translated it to VB6 just yet:

    https://www.vbforums.com/showthread....=1#post5681169

    It also plays the Cheers GIF from wqweto's list above as an example!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width