Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Проигравание gif в форме (http://forum.oszone.net/showthread.php?t=170458)

Vagac 17-03-2010 19:31 1370937

Проигравание gif в форме
 
Подскажите как заставить gif проигрыватся в форме на буржуйском сайте нашел вот такой код
------------------------------------------------------------------------------------------------------------------------------
Код:

Opt("MustDeclareVars", 1)
#include <IE.au3>

_Main()

Func _Main()
Local $pheight = 50, $pwidth = 50, $oIE, $GUIActiveX, $gif
;$gif = FileOpenDialog("Select Animated Gif", @ScriptDir, "gif files (*.gif)", 3)
$gif="C:\Documents and Settings\Sysadmin\Рабочий стол\36_9_300.GIF"

If @error Then Exit
_GetGifPixWidth_Height($gif, $pwidth, $pheight)
$oIE = ObjCreate("Shell.Explorer.2")
GUICreate("Embedded Web control Test", 640, 580)
$GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, $pwidth, $pheight)
$oIE.navigate ("about:blank")
While _IEPropertyGet($oIE, "busy")
Sleep(100)
WEnd
$oIE.document.body.background = $gif
$oIE
.document.body.scroll = "no"
GUISetState()
While GUIGetMsg() <> -3
WEnd
EndFunc
;==>_Main

Func _GetGifPixWidth_Height($s_gif, ByRef $pwidth, ByRef $pheight)
If FileGetSize($s_gif) > 9 Then
Local
$sizes = FileRead($s_gif, 10)
ConsoleWrite("Gif version: " & StringMid($sizes, 1, 6) & @LF)
$pwidth = Asc(StringMid($sizes, 8, 1)) * 256 + Asc(StringMid($sizes, 7, 1))
$pheight = Asc(StringMid($sizes, 10, 1)) * 256 + Asc(StringMid($sizes, 9, 1))
ConsoleWrite($pwidth & " x " & $pheight & @LF)
EndIf
EndFunc

----------------------------------------------------------------------------------------------------------------------------
gif проигрывается а как мне сделать в своей форме не понимаю знаний не хватает

Creat0R 17-03-2010 23:08 1371088

Цитата:

Цитата Vagac
нашел вот такой код »

Ужас :cool: Вы не ту утилиту использовали для разукраски AutoIt-кода :), нужно Au3ToPost.

Цитата:

Цитата Vagac
как мне сделать в своей форме »

В чём конкретно сложность?

Vagac 18-03-2010 00:04 1371124

Сложность в непонимании даных функций на форме созданной в "кода" планирую разместить несколько гиф как заставить их работать
А за Au3ToPost спасибо сам бы не нашел обязательно исправлюсь.

Creat0R 18-03-2010 00:44 1371147

Цитата:

Цитата Vagac
Сложность в непонимании даных функций на форме созданной в "кода" »

Вот функция _GUICtrlCreateGif и пример её использования:

Код:

#include <IE.au3>

GUICreate("Embedded Web control Test", 640, 580)

_GUICtrlCreateGif(@SystemDir & "\oobe\html\mouse\images\clicking.gif", 5, 5)
_GUICtrlCreateGif(@WindowsDir & "\pchealth\helpctr\System\images\progbar.gif", 450, 5)
_GUICtrlCreateGif(@SystemDir & "\oobe\images\dialup.gif", 5, 300)

GUISetState()

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"

    Return $nGUIActiveX
EndFunc


Vagac 18-03-2010 00:53 1371156

Creat0R Больщое спасибо за быстрые ответы и помощь буду разбиратся

Yashied 18-03-2010 02:11 1371202

Есть еще неплохая UDF, правда более сложная.

Vagac 18-03-2010 17:59 1371691

Всем САПИБО разобрался


Время: 23:25.

Время: 23:25.
© OSzone.net 2001-