Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Show animated Gifs in your GUI


  • Please log in to reply
64 replies to this topic
  • Guests
  • Last active:
  • Joined: --
Hi, I'm having a hard time implementing this in my gui. Could someone here write a short script that would create a gui with only one gif and show it?

EvilSpectre
  • Guests
  • Last active:
  • Joined: --
Has anyone got this to work for AutoHotKey_L Unicode compiler? If I use AutoHotKey_L ANSI it works.

amnesiac
  • Members
  • 124 posts
  • Last active: May 01 2014 03:04 AM
  • Joined: 07 Nov 2010

For me, AniGif_LoadGifFromFile() fails - not too sure why. For the demo I just get

---------------------------
AniGIF
---------------------------
Error loading file.
---------------------------
OK   
---------------------------

I've checked all files are there.

Using Vista 32-bit with AHK_L Unicode. Thanks


When I run it with ahk_L 1.1.05.00, I encountered the same problem. So I make some adjustment to AniGif_LoadGifFromFile, now it is:
AniGif_LoadGifFromFile(_agHwnd, _gifFile)
{
	; WAGM_LOADGIFFROMFILE EQU WAGM_BASE+0	;wParam:N/A,		lParam:lpFileName
	
	VarSetCapacity(var, StrPut(_gifFile, "cp0") * 2)
	StrPut(_gifFile, &var, "cp0")
	SendMessage, 2024, 0, &var, , ahk_id %_agHwnd%
}
It can exactly load the gif file now (Before all maybe you need change the script's codepage to UTF-8).

Click to download Chinese resource for AutoHotkey.

Recommended: AutoHotkey_L My code is based on it or similar versions, e.g. AutoHotkey_H.
Together with AutoHotkey, we grow and march forward. No matter how the future will be, this period of days is still epic.


  • Guests
  • Last active:
  • Joined: --
Is it possible to make the gif transparent so it will show the control under it? Is it also possible to make it a gLabel?

Guest
  • Guests
  • Last active:
  • Joined: --
I got this to work in my script and I extracted this simple example from it. I removed the comments and credits. This is PhilHos script, so kudos to him. I didn't understand fully every command and function call but was able to figure out what I needed by first inserting my gif in his script and then removing bit by bit what was not needed to make it work and what was needed for my script, sort of a process of elimination. My gif title was meter2.gif. the stuff in between the ##### lines is needed as is the 6 or 7 lines in the Meter push button subroutine. good luck, hope this helps.



;################################################################################################################
AniGif_CreateControl(_guiHwnd, _x, _y, _w, _h,_style=""){
local hAniGif, agHwnd
local msg, style
static $bFirstCall := true
If ($bFirstCall)
{
$bFirstCall := false
; It will be unloaded at script end
hAniGif := DllCall("LoadLibrary", "Str", "AniGif.dll")
}
style := 0
If (_style != "")
{
If _style contains autosize
style |= 1 ; WAGS_AUTOSIZE
If _style contains center
style |= 2 ; WAGS_CENTER
If _style contains hyperlink
style |= 4 ; WAGS_HYPERLINK
}
style := 0x50000000 | style
agHwnd := DLLCall("CreateWindowEx"
, "UInt", 0 ; Style, can be WS_EX_CLIENTEDGE = 0x200
, "Str", "AniGIF" ; Class Name
, "Str", "AnimatedGif" ; Window name
, "UInt", style ; Window style
, "Int", _x ; X position
, "Int", _y ; Y position
, "Int", _w ; Width
, "Int", _h ; Height
, "UInt", _guiHwnd ; Handle of parent
, "UInt", 0 ; Menu
, "UInt", 0 ; hInstance of the module registering the component's class
, "UInt", 0) ; User defined style
If (ErrorLevel != 0 or agHwnd = 0)
{
msg = %msg% Cannot create AniGif control (%ErrorLevel%/%A_LastError%)
Gosub AniGif_CreateControl_CleanUp
Return msg
}
Return agHwnd
AniGif_CreateControl_CleanUp: ; In case of error
Return
}
AniGif_DestroyControl(_agHwnd)
{
If (_agHwnd != 0)
{
AniGif_UnloadGif(_agHwnd)
DllCall("DestroyWindow", "UInt", _agHwnd)
}
}
AniGif_LoadGifFromFile(_agHwnd, _gifFile)
{
SendMessage 2024, 0, &_gifFile, , ahk_id %_agHwnd%
}
AniGif_UnloadGif(_agHwnd)
{
SendMessage 2026, 0, 0, , ahk_id %_agHwnd%
}
AniGif_SetHyperlink(_agHwnd, _url)
{
SendMessage 2027, 0, &_url, , ahk_id %_agHwnd%
}
AniGif_Zoom(_agHwnd, _bZoomIn)
{
PostMessage 2028, 0, _bZoomIn, , ahk_id %_agHwnd%
}
AniGif_SetBkColor(_agHwnd, _backColor)
{
PostMessage 2029, 0, _backColor, , ahk_id %_agHwnd%
}
;################################################################################################################

ToggleVar:=0

Gui, Destroy
Gui, +Owner
Gui, -Caption +Border +AlwaysOnTop
Gui, Color, Black
Gui, Show, x490 y320 w170 h150
Gui, Font, s12
Gui, Add, Button, gExitSub x100 y105, Exit
Gui, Add, Button, gMeter x25 y105, Meter

MouseClick,left,40,120
return

Meter:
If ToggleVar contains 0
{
Gui +LastFound
guiID := WinExist()
hAniGif4 := AniGif_CreateControl(guiID, 10, 20, 150, 65, "center")
If hAniGif4 is not integer
MsgBox %hAniGif4%
AniGif_LoadGifFromFile(hAniGif4, A_ScriptDir . "\meter2.gif")
ToggleVar:=1
return
}
If ToggleVar contains 1
{
AniGif_DestroyControl(hAniGif4)
ToggleVar:=0
Return
}
return

ExitSub:
ExitApp

#SingleInstance force

Guest
  • Guests
  • Last active:
  • Joined: --
ooops sorry. I forgot to put my code in a "code box" like everyone else. newbie here.

  • Guests
  • Last active:
  • Joined: --
;################################################################################################################ 

AniGif_CreateControl(_guiHwnd, _x, _y, _w, _h,_style=""){

	local hAniGif, agHwnd

	local msg, style

	static $bFirstCall := true

	If ($bFirstCall)

	{

		$bFirstCall := false

		; It will be unloaded at script end

		hAniGif := DllCall("LoadLibrary", "Str", "AniGif.dll")

	}

	style := 0

	If (_style != "")

	{

		If _style contains autosize

			style |= 1	; WAGS_AUTOSIZE

		If _style contains center

			style |= 2	; WAGS_CENTER

		If _style contains hyperlink

			style |= 4	; WAGS_HYPERLINK

	}	

	style := 0x50000000 | style	

	agHwnd := DLLCall("CreateWindowEx"

			, "UInt", 0                     ; Style, can be WS_EX_CLIENTEDGE = 0x200

			, "Str", "AniGIF"               ; Class Name

			, "Str", "AnimatedGif"          ; Window name

			, "UInt",  style                ; Window style

			, "Int", _x                     ; X position

			, "Int", _y                     ; Y position

			, "Int", _w                     ; Width

			, "Int", _h                     ; Height

			, "UInt", _guiHwnd              ; Handle of parent

			, "UInt", 0                     ; Menu

			, "UInt", 0               ; hInstance of the module registering the component's class

			, "UInt", 0)                    ; User defined style

	If (ErrorLevel != 0 or agHwnd = 0)

	{

		msg = %msg% Cannot create AniGif control (%ErrorLevel%/%A_LastError%)

		Gosub AniGif_CreateControl_CleanUp

		Return msg

	}

	Return agHwnd

AniGif_CreateControl_CleanUp:	; In case of error	

Return

}

AniGif_DestroyControl(_agHwnd)

{

	If (_agHwnd != 0)

	{

		AniGif_UnloadGif(_agHwnd)

		DllCall("DestroyWindow", "UInt", _agHwnd)

	}

}

AniGif_LoadGifFromFile(_agHwnd, _gifFile)

{	

	SendMessage 2024, 0, &_gifFile, , ahk_id %_agHwnd%

}

AniGif_UnloadGif(_agHwnd)

{	

	SendMessage 2026, 0, 0, , ahk_id %_agHwnd%

}

AniGif_SetHyperlink(_agHwnd, _url)

{	

	SendMessage 2027, 0, &_url, , ahk_id %_agHwnd%

}

AniGif_Zoom(_agHwnd, _bZoomIn)

{	

	PostMessage 2028, 0, _bZoomIn, , ahk_id %_agHwnd%

}

AniGif_SetBkColor(_agHwnd, _backColor)

{	

	PostMessage 2029, 0, _backColor, , ahk_id %_agHwnd%

}

;################################################################################################################



ToggleVar:=0



Gui, Destroy

Gui, +Owner

Gui, -Caption +Border +AlwaysOnTop

Gui, Color, Black

Gui, Show, x490 y320 w170 h150

Gui, Font, s12  

Gui, Add, Button, gExitSub x100 y105, Exit

Gui, Add, Button, gMeter x25 y105, Meter



MouseClick,left,40,120 

return



Meter:

If ToggleVar contains 0

 {

 Gui +LastFound

 guiID := WinExist()

 hAniGif4 := AniGif_CreateControl(guiID, 10, 20, 150, 65, "center")

 If hAniGif4 is not integer

	MsgBox %hAniGif4%

 AniGif_LoadGifFromFile(hAniGif4, A_ScriptDir . "\meter2.gif")

 ToggleVar:=1 

return

 }

If ToggleVar contains 1

 {

 AniGif_DestroyControl(hAniGif4) 

 ToggleVar:=0 

 Return

 }

return



ExitSub:

ExitApp



#SingleInstance force


specter333
  • Members
  • 627 posts
  • Last active: Oct 07 2016 07:43 AM
  • Joined: 15 Jan 2007
I had no problem getting this to work in my gui but I am having a strange problem getting it to show white. It will only show the outline of white areas. Has anyone else had this problem? Could it be that the dll thinks "ffffff" should be the transparent color?
I you need new version of any scripts I haven't re-uploaded yet feel free to pm me.

GeekDude
  • Spam Officer
  • 391 posts
  • Last active: Oct 05 2015 08:13 PM
  • Joined: 23 Nov 2009
Workaround: Use FEFEFE instead.

specter333
  • Members
  • 627 posts
  • Last active: Oct 07 2016 07:43 AM
  • Joined: 15 Jan 2007

Workaround: Use FEFEFE instead.


I was using ffffff as an example. The only color I'm actually specifying is background color black. It is anything white in the gif images that is not showing up. I can't find anywhere is the anigif library that even mentions ffffff or white so I don't know if it's related to the library or my images.


Edit;

I found I could open the images in a gif editor and save them again to correct the problem.
I you need new version of any scripts I haven't re-uploaded yet feel free to pm me.

CodingProdigy
  • Members
  • 10 posts
  • Last active: May 18 2013 09:46 PM
  • Joined: 21 Dec 2012

Can you please give me a new link? It doesnt work. icon_mad.gif icon_cry.gif



Sam.
  • Members
  • 107 posts
  • Last active: Jul 15 2017 04:06 PM
  • Joined: 14 Nov 2008
Can you please give me a new link? It doesnt work. icon_mad.gif icon_cry.gif
IfNotExist, %A_ScriptDir%\AniGIF.dll
	Extract_AniGIF(A_ScriptDir "\AniGIF.dll")
ExitApp

Extract_AniGIF(Filename,DumpData = 0)
{
	;This function "extracts" the file to the location+name you pass to it.
	Static HasData = 1, Base64Decode, Out_Data, Hex_Mcodex86 = "558bec518365fc00568b75088a1684d20f86ac000000578b7d0c5333db33c084d2764d32c984c975318aca80e92b4680f94f770c0fb6ca8b55108a4c11d5eb02b1240fb6d180ea3d80f9240f94c1fec923ca8a1684d277cd84c9760943fec9884c0508eb05c6440508004083f8047caf83fb027c4b8a45098a4d08c0e102c0e8040ac18a4d0a88074783fb027e108a55098ac1c0e802c0e2040ac288074783fb037e09c0e1060a4d0b880f478b45fc8a1684d28d4418ff8945fc0f875bffffff5b5f8b45fc5ec9c3"
	Static Hex_Mcodex64 = "48895C241048897C2418440FB60933DB488BFA4C8BD14584C90F84BC000000904533DB33C94584C9744F32C00F1F400084C0752C418D41D549FFC23C4F7712410FB6C1420FB64400D53C24740404C3EB0232C0450FB60A4584C975D484C0740B41FFC3FEC888440C08EB05C6440C080048FFC14883F9047CAC4183FB027C5C0FB65424090FB644240848FFC7C0E0020FB6CAC0E9040AC8884FFF0FB64C240A4183FB027E11C0E2040FB6C1C0E8020AC248FFC78847FF4183FB037E0DC0E1060A4C240B48FFC7884FFF450FB60A428D5C1BFF4584C90F8545FFFFFF488B7C24188BC3488B5C2410C3"
	Static CD = "|$$$}rstuvwxyz{$$$$$$$>[email protected]$$$$$$XYZ[\]^_``abcdefghijklmnopq"
	Static 1="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YWludAAAfgBEZWZXaW5kb3dQcm9jQQAArwBFbmRQYWludAAAxwBGaWxsUmVjdAAA1QBHZXRDYXB0dXJlAADhAEdldENsaWVudFJlY3QA6gBHZXRDdXJzb3IA7QBHZXREQwAxAUdldFN5c0NvbG9yAEMBR2V0V2luZG93TG9uZ0EAAGMBSW52YWxpZGF0ZVJlY3QAAHsBS2lsbFRpbWVyAIABTG9hZEN1cnNvckEAnQFNZXNzYWdlQm94QQC9AVBvc3RNZXNzYWdlQQAAyAFSZWdpc3RlckNsYXNzRXhBAADSAVJlbGVhc2VDYXB0dXJlAADTAVJlbGVhc2VEQwDrAVNldENhcHR1cmUAAPMBU2V0Q3Vyc29yABcCU2V0VGltZXIAAB0CU2V0V2luZG93TG9uZ0EAACACU2V0V2luZG93UG9zAABJAlVucmVnaXN0ZXJDbGFzc0EAAE4CVXBkYXRlV2luZG93AAB1c2VyMzIuZGxsAAAaAENsb3NlSGFuZGxlADAAQ3JlYXRlRmlsZUEAogBGaW5kUmVzb3VyY2VBALUARnJlZVJlc291cmNlAAD1AEdldEZpbGVTaXplACEBR2V0UHJvY2Vzc0hlYXAAAH8BSGVhcEFsbG9jAIMBSGVhcEZyZWUAAIUBSGVhcFJlQWxsb2MAqQFMb2FkUmVzb3VyY2UAAMYBTXVsRGl2AAD3AVJlYWRGaWxlAAAJAlJ0bE1vdmVNZW1vcnkACwJSdGxaZXJvTWVtb3J5AF8CU2l6ZW9mUmVzb3VyY2UAAL0CbHN0cmNweW5BAGtlcm5lbDMyLmRsbAAAZwBTaGVsbEV4ZWN1dGVBAHNoZWxsMzIuZGxsAAwAQml0Qmx0AAAcAENyZWF0ZUJpdG1hcAAAIQBDcmVhdGVDb21wYXRpYmxlQml0bWFwAAAiAENyZWF0ZUNvbXBhdGlibGVEQwAARQBDcmVhdGVTb2xpZEJydXNoAABIAERlbGV0ZURDAABLAERlbGV0ZU9iamVjdAAAZQBFeGNsdWRlQ2xpcFJlY3QAqgBHZXREZXZpY2VDYXBzAC4BU2VsZWN0T2JqZWN0AAA0AVNldEJrQ29sb3IAAGUBU3RyZXRjaEJsdAAAZ2RpMzIuZGxsADEAQ29Jbml0aWFsaXplAABUAENvVGFza01lbUFsbG9jAABZAENvVW5pbml0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"
	
	If (!HasData)
		Return -1
	
	If (CD){
		VarSetCapacity(TD,13328 * (A_IsUnicode ? 2 : 1))
		
		Loop,% 1
			TD .= %A_Index%, %A_Index% := ""
		
		Hex_Mcode := A_PtrSize = 8 ? Hex_Mcodex64 : Hex_Mcodex86
		VarSetCapacity(Base64Decode,StrLen(Hex_Mcode)//2)
		Loop % StrLen(Hex_Mcode)//2
			NumPut("0x" . SubStr(Hex_Mcode,2*A_Index-1,2),Base64Decode,A_Index-1,"Char")
		DllCall("VirtualProtect",A_IsUnicode ? "Ptr" : "UInt",&Base64Decode,A_IsUnicode ? "Ptr" : "UInt",VarSetCapacity(Base64Decode),"uint",0x40,"uint*",0)
		
		VarSetCapacity(Out_Data,9728,0)
		, DllCall(&Base64Decode,A_IsUnicode ? "AStr" : "Str",TD,A_IsUnicode ? "Ptr" : "UInt",&Out_Data,A_IsUnicode ? "AStr" : "Str",CD,"CDECL UINT")
		, Base64Decode := ""
		, TD := ""
		, CD := ""
		, Hex_Mcodex86 := ""
		, Hex_Mcodex64 := ""
		, Hex_Mcode := ""
	}
	
	IfExist,%Filename%
		FileDelete,%Filename%
	
	h := DllCall("CreateFile","str",Filename,"Uint",0x40000000,"Uint",0,"UInt",0,"UInt",4,"Uint",0,"UInt",0)
	DllCall("WriteFile","UInt",h,A_IsUnicode ? "Ptr" : "UInt",&Out_Data,"UInt",9728,"UInt",0,"UInt",0)
	DllCall("CloseHandle", "Uint", h)
	
	If (DumpData)
		VarSetCapacity(Out_Data,9728,0)
		, VarSetCapacity(Out_Data,0)
		, HasData := 0
}

Compliments of Rseding91's Include virtually any file in a script.



Sam.
  • Members
  • 107 posts
  • Last active: Jul 15 2017 04:06 PM
  • Joined: 14 Nov 2008

Can someone please post an unmodified version of the script?  The link in the first post no longer works...

 

TIA,

Sam.



just me
  • Members
  • 1496 posts
  • Last active: Nov 03 2015 04:32 PM
  • Joined: 28 May 2011

"Deleted!"


Prefer ahkscript.org for the time being.


GeekDude
  • Spam Officer
  • 391 posts
  • Last active: Oct 05 2015 08:13 PM
  • Joined: 23 Nov 2009
Can someone please post an unmodified version of the script?  The link in the first post no longer works...

 

TIA,

Sam.

 

 

"Deleted!"

 

https://dl.dropbox.c...trol_AniGif.ahk