PDA

Показать полную графическую версию : [решено] GIF анимация в форме


novosibirec
08-11-2010, 12:31
Ребят! есть такой код! как сделать чтоб анимация проигрывалась, а не была статичной, сохраняя стиль прозрачности!!!!!

#Include <WindowsConstants.au3>
#include <GUIConstants.au3>

$Form1 = GUICreate("", 116, 108, 750, 1, $WS_POPUP, $WS_EX_LAYERED)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Pic1 = GUICtrlCreatePic("C:\тест.gif", 0, 0, 116, 108, $WS_EX_LAYERED)

GUISetState(@SW_SHOW)

While 1

WEnd

вот в этом коде они проигрываются но тут нельзя применить стили прозрачности!! ((


#include <IE.au3>
#Include <WindowsConstants.au3>
#include <GUIConstants.au3>
#Include <WinAPI.au3>

GUICreate("Embedded Web control Test", 640, 580, $WS_POPUP, $WS_EX_LAYERED)

_GUICtrlCreateGif("C:\тест.gif", 116, 108)

GUISetState(@SW_SHOW)

While GUIGetMsg() <> -3
WEnd

Func _GUICtrlCreateGif($sGifFile, $iLeft, $iTop, $iWidth=-1, $iHeight=-1)
Local $iSizes, $oIE, $nGUIActiveX

If ($iWidth = -1 Or $iHeight = -1) And FileGetSize($sGifFile) > 9 Then
$iSizes = FileRead($sGifFile, 10)

If $iWidth = -1 Then $iWidth = Asc(StringMid($iSizes, 8, 1)) * 256 + Asc(StringMid($iSizes, 7, 1))
If $iHeight = -1 Then $iHeight = Asc(StringMid($iSizes, 10, 1)) * 256 + Asc(StringMid($iSizes, 9, 1))
EndIf

$oIE = ObjCreate("Shell.Explorer.2")
$nGUIActiveX = GUICtrlCreateObj($oIE, $iLeft, $iTop, $iWidth, $iHeight)
$oIE.Navigate("about:blank")

While $oIE.Busy
Sleep(1)
WEnd

$oIE.Document.Body.Background = $sGifFile
$oIE.Document.Body.Scroll = "No"

EndFunc
Return $nGUIActiveX

madmasles
08-11-2010, 16:28
novosibirec,
Посмотрите здесь: GIFAnimation (http://www.autoitscript.com/forum/topic/96132-gif-animation/).

novosibirec
08-11-2010, 18:58
благодарю!! то что надо!!!




© OSzone.net 2001-2012