Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Centrinar:
надо что бы GIF картинка крутилась 2 сек »
Тут можно только удалять Gif'ки...

Код: Выделить весь код
GUICreate("Embedded Web control Test", 640, 580)

$nGif1 = _GUICtrlCreateGif(@SystemDir & "\oobe\html\mouse\images\clicking.gif", 5, 5, -1, -1)
$nGif2 = _GUICtrlCreateGif(@WindowsDir & "\pchealth\helpctr\System\images\progbar.gif", 450, 5)
$nGif3 = _GUICtrlCreateGif(@SystemDir & "\oobe\images\dialup.gif", 5, 300)

GUISetState()

$iTimer = TimerInit()

While GUIGetMsg() <> -3
    If TimerDiff($iTimer) >= 2000 Then
        GUICtrlDelete($nGif1)
        GUICtrlDelete($nGif2)
        ;GUICtrlDelete($nGif3)
    EndIf
WEnd
А нет, можно и останавливать:

Код: Выделить весь код
GUICreate("Embedded Web control Test", 640, 580)

$aGif1 = _GUICtrlCreateGif(@SystemDir & "\oobe\html\mouse\images\clicking.gif", 5, 5, -1, -1)
$aGif2 = _GUICtrlCreateGif(@WindowsDir & "\pchealth\helpctr\System\images\progbar.gif", 450, 5)
$aGif3 = _GUICtrlCreateGif(@SystemDir & "\oobe\images\dialup.gif", 5, 300)

GUISetState()

$iTimer = TimerInit()

While GUIGetMsg() <> -3
    If TimerDiff($iTimer) >= 2000 Then
        $aGif1[0].Stop
        $aGif2[0].Stop
        ;$aGif3[0].Stop
    EndIf
WEnd

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

    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"

    Local $aRet[2] = [$oIE, $nGUIActiveX]

    Return $aRet
EndFunc
Если сильно постараться, то можно задать параметр таймаут для функции «_GUICtrlCreateGif», чтобы не нужно было проверять это в главном цикле, функция сама будет останавливать Gif'ку по истечению таймаута.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:12, 20-07-2010 | #4