Function Reference

_GUICtrlAVI_Create

AVIコントロールを作成します。

#Include <GuiAVI.au3>
_GUICtrlAVI_Create($hWnd[, $sFile = ""[, $subfileid = -1[, $iX = 0[, $iY = 0[, $iWidth = 0[, $iHeight = 0[, $iStyle = 0x00000006[, $iExStyle = 0x00000000]]]]]]]])

 

パラメータ

$hWnd 親ウィンドウまたはオーナーウィンドウのハンドル
$sFile [オプション]ビデオのファイル名。.aviファイルのみサポートされています。
$subfileid [オプション]使用されるサブファイルのID
$iX [オプション]コントロールの水平位置
$iY [オプション]コントロールの垂直位置
$iWidth [オプション]コントロールの幅
$iHeight [オプション]コントロールの高さ
$iStyle [オプション]コントロールのスタイル:
$ACS_CENTER - アニメーションコントロールがあるウィンドウの中央にアニメーションを配置
$ACS_TRANSPARENT - 透明背景でコントロールを作成
$ACS_AUTOPLAY - AVIクリップが開かれたらすぐにアニメーションの再生を開始
$ACS_TIMER - コントロールはスレッドを作成せずにクリップを再生
デフォルト: $ACS_TRANSPARENT、$ACS_AUTOPLAY
強制 : $WS_CHILD、$WS_VISIBLE
$iExStyle [オプション]コントロールの外部スタイル

 

返し値

成功: アニメーションコントロールのハンドル
失敗: 0

 

注意

この関数は上級ユーザー、どのようにコントロールが動作するかを学習するためのものです。

 

関連

_GUICtrlAVI_Destroy

 


#include <GuiConstantsEx.au3>
#include <GuiAVI.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

$Debug_AVI = False ; AVI関数に渡されるClassNameを調べる。動作を確認するにはTrueを設定し、他のコントロールのハンドルを使用

Global $hAVI

_Example1()
_Example2()

Func _Example1()
    Local $Wow64 = ""
    If @AutoItX64 Then $Wow64 = "\Wow6432Node"
    Local $hGUI, $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $Wow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\Examples\GUI\SampleAVI.avi"

    ; GUI作成
    $hGUI = GUICreate("(External 1) AVI Create", 300, 100)
    $hAVI = _GUICtrlAVI_Create ($hGUI, $sFile, -1, 10, 10)
    GUISetState()

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

    ; サンプルのAutoIt AVIを再生
    _GUICtrlAVI_Play ($hAVI)

    ; ユーザーが終了するまでループ
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; AVIクリップを閉じる
    _GUICtrlAVI_Close ($hAVI)


    GUIDelete()
EndFunc   ;==>_Example1

Func _Example2()
    Local $hGUI

    ; GUI作成
    $hGUI = GUICreate("(External 2) AVI Create", 300, 100)
    $hAVI = _GUICtrlAVI_Create ($hGUI, @SystemDir & "\Shell32.dll", 150, 10, 10)
    GUISetState()

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

    ; サンプルのAutoIt AVIを再生
    _GUICtrlAVI_Play ($hAVI)

    ; ユーザーが終了するまでループ
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; AVIクリップを閉じる
    _GUICtrlAVI_Close ($hAVI)


    GUIDelete()
EndFunc   ;==>_Example2

Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode
    $hWndFrom = $ilParam
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; 下位ワード
    $iCode = BitShift($iwParam, 16) ; 上位ワード
    Switch $hWndFrom
        Case $hAVI
            Switch $iCode
                Case $ACN_START ; アニメーションコントロールの親ウィンドウに関連付けられているAVIクリップの再生開始を通知
                    _DebugPrint("$ACN_START" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; 返し値なし
                Case $ACN_STOP ; アニメーションコントロールの親ウィンドウに関連付けられているAVIクリップの再生停止を通知
                    _DebugPrint("$ACN_STOP" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; 返し値なし
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND

Func _DebugPrint($s_text, $line = @ScriptLineNumber)
    ConsoleWrite( _
            "!===========================================================" & @LF & _
            "+======================================================" & @LF & _
            "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
            "+======================================================" & @LF)
EndFunc   ;==>_DebugPrint