Click here to Skip to main content
Licence 
First Posted 14 Dec 1999
Views 93,433
Bookmarked 17 times

Display Animated Cursors stored in Resources

By | 14 Dec 1999 | Article
Demonstrates how to use an animated gif stored in your resource file as an animated cursor
  • Download demo project - 21 Kb
  • Download source files - 1 Kb
  • This article describes how you can display an animated cursor that is created from an animated gif and stored in your applications resources.

    Before you can display it, you must import the animated gif into your resource file. You do this by declaring the animated gif file as a new user defined resource named "ANICURSOR" within your resource file.

    /////////////////////////////////////////////////////////////////////////////
    //
    // ANICURSORS
    //
    
    IDR_HORSE_CURSOR        ANICURSORS DISCARDABLE  "res\\horse.ani"
    

    You then use the following function which loads the gif and displays it as an animated cursor:

     
    //
    // LoadAnimatedCursor: Loads an animated gif from the resource as an cursor
    //
    HCURSOR LoadAniCursor(UINT nID)
    {
    	HINSTANCE hInst=AfxGetInstanceHandle();
    	HRSRC hRes=FindResource(hInst,MAKEINTRESOURCE(nID),"ANICURSORS");
    	DWORD dwSize=SizeofResource(hInst, hRes);
    	HGLOBAL hGlob=LoadResource(hInst, hRes);
    	LPBYTE pBytes=(LPBYTE)LockResource(hGlob); 
    	return (HCURSOR)CreateIconFromResource(pBytes,dwSize,FALSE,0x00030000);
    }
    

    To display the cursor, call SetCursor(LoadAniCursor(ID_ANIMATED_HORSE))

    License

    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here

    About the Author

    Bernd Wißler



    Germany Germany

    Member



    Sign Up to vote   Poor Excellent
    Add a reason or comment to your vote: x
    Votes of 3 or less require a comment

    Comments and Discussions

     
    You must Sign In to use this message board. (secure sign-in)
     
    Search this forum  
     FAQ
        Noise  Layout  Per page   
      Refresh
    QuestionCannot work in Multiple Documents dialog Pinmemberkevanphua16:40 27 May '07  
    QuestionLoading 256-color animated cursors? PinmemberBartosz Bien10:33 7 Jun '06  
    QuestionWhere to put LoadAniCursor()? Pinmemberlasombra197922:31 28 Nov '04  
    QuestionMSFlexgrid distribute? PinmemberJosé Luis Sogorb7:22 28 Nov '04  
    GeneralUne autre facon, qui marche sur toutes plateformes: PinsussJoshu17:36 22 Mar '03  
    GeneralResource leak! PinmemberRobert Space21:01 19 Mar '02  
    GeneralA different way... PinmemberSibilant15:44 1 Mar '02  
    GeneralCURSOR DISAPPEARS PinmemberSibilant7:55 1 Mar '02  
    GeneralHave a solution for Win9X Here Pinmemberfigmo13:35 24 Oct '01  
    GeneralRe: Have a solution for Win9X Here PinmemberAnonymous14:15 24 Oct '01  
    GeneralRe: Have a solution for Win9X Here PinmemberNonni22:45 5 Nov '01  
    GeneralUsing the example code PinmemberRon Maman23:53 26 Nov '00  
    hi
     
    i tried to use your sample but i didn't understood how exactly to import an animated gif file to the project resource
     
    please supply forthere details/instructions for doing it
     
    I"M SURE A LOT OF VC++ DEVELOPERS WOULD LIKE TO GET THAT ANSWER
     
    THANKS
    RON MAMAN (ISRAEL)
    GeneralCreateIconFromResource() Always failed !!! PinsussHomles Chen23:10 21 Sep '00  
    GeneralWorking great but.... PinsussKishk919:21 10 Mar '00  
    GeneralWorking great but.... PinsussKishk919:21 10 Mar '00  
    GeneralNot a GIF, but a simple ANI cursor! PinsussPPEscher13:14 22 Jan '00  

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

    Permalink | Advertise | Privacy | Mobile
    Web04 | 2.5.120529.1 | Last Updated 15 Dec 1999
    Article Copyright 1999 by Bernd Wißler
    Everything else Copyright © CodeProject, 1999-2012
    Terms of Use
    Layout: fixed | fluid