Функция _GUICtrlAVI_Seek

         Описание функции


_GUICtrlAVI_Seek

Устанавливает указанный кадр из клипа в элементе AVI

#include <GuiAVI.au3>
_GUICtrlAVI_Seek($hWnd, $iFrame)

Параметры

$hWnd Дескриптор или идентификатор элемента
$iFrame Индекс кадра, отсчёт от 0

Возвращаемое значение

Успех:Возвращает True
Ошибка:Возвращает False

См. также

_GUICtrlAVI_Play

Пример

#include <GUIConstantsEx.au3>
#include <GuiAVI.au3>

$Debug_AVI = False ; Проверяет ClassName передаваемый в AVI функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

Global $hAVI

_Example_Internal()
_Example_External()

Func _Example_Internal()
    Local $btn1, $btn2, $btn3, $Inp4, $iFrame = 0

    ; Создаёт GUI
    GUICreate("Устанавливает кадр (нативный)", 300, 160)
    $hAVI = GUICtrlCreateAvi(@SystemDir & "\shell32.dll", 160, 10, 10)
    $btn1 = GUICtrlCreateButton ("Предыдущий",50,90,90,24)
    $btn2  = GUICtrlCreateButton ("Следующий",160,90,90,24)
    $btn3 = GUICtrlCreateButton("Указанный", 50, 120, 90, 24)
    $Inp4 = GUICtrlCreateInput('15', 160, 120, 60, 24)
    GUISetState()

    ; Цикл выполняется, пока окно не будет закрыто
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case $btn1
                ; Получает предыдущий кадр
                $iFrame -= 1
                If $iFrame < 0 Then $iFrame = 30
                _GUICtrlAVI_Seek($hAVI, $iFrame)
            Case $btn2
                ; Получает следующий кадр
                $iFrame += 1
                If $iFrame > 30 Then $iFrame = 0
                _GUICtrlAVI_Seek($hAVI, $iFrame)
            Case $btn3
                $iFrame = GUICtrlRead($Inp4)
                _GUICtrlAVI_Seek($hAVI, $iFrame)
        EndSwitch
    WEnd

    ; Закрывает AVI
    _GUICtrlAVI_Close($hAVI)

    GUIDelete()
EndFunc   ;==>_Main

Func _Example_External()
    Local $hGUI, $btn1, $btn2, $btn3, $Inp4, $iFrame = 0

    ; Создаёт GUI
    $hGUI = GUICreate("Устанавливает кадр", 300, 160)
    $hAVI = _GUICtrlAVI_Create ($hGUI, @SystemDir & "\Shell32.dll", 160, 10, 10)
    $btn1 = GUICtrlCreateButton ("Предыдущий",50,90,90,24)
    $btn2  = GUICtrlCreateButton ("Следующий",160,90,90,24)
    $btn3 = GUICtrlCreateButton("Указанный", 50, 120, 90, 24)
    $Inp4 = GUICtrlCreateInput('15', 160, 120, 60, 24)
    GUISetState()

    ; Цикл выполняется, пока окно не будет закрыто
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case $btn1
                ; Получает предыдущий кадр
                $iFrame -= 1
                If $iFrame < 0 Then $iFrame = 30
                _GUICtrlAVI_Seek($hAVI, $iFrame)
            Case $btn2
                ; Получает следующий кадр
                $iFrame += 1
                If $iFrame > 30 Then $iFrame = 0
                _GUICtrlAVI_Seek($hAVI, $iFrame)
            Case $btn3
                $iFrame = GUICtrlRead($Inp4)
                _GUICtrlAVI_Seek($hAVI, $iFrame)
        EndSwitch
    WEnd

    ; Закрывает AVI
    _GUICtrlAVI_Close($hAVI)

    GUIDelete()
EndFunc   ;==>_Main