_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