UDF > GUI > GuiAVI >


_GUICtrlAVI_Create

Crée un contrôle AVI

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

Paramètres

$hWnd Handle de la fenêtre parent ou propriétaire
$sFilePath [optionnel] Le nom complet du fichier de la vidéo. Seuls les fichiers avi sont pris en charge
$iSubFileID [optionnel] Id du sous-fichier à utiliser.
$iX [optionnel] Position horizontale du contrôle
$iY [optionnel] Position verticale du contrôle
$iWidth [optionnel] Largeur du contrôle
$iHeight [optionnel] Hauteur du contrôle
$iStyle [optionnel] Styles du contrôle:
    $ACS_CENTER - Centre l'animation dans la fenêtre du contrôle
    $ACS_TRANSPARENT - Crée le contrôle avec un fond transparent
    $ACS_AUTOPLAY - Commence la lecture de l'animation dès que le clip AVI est ouvert
    $ACS_TIMER - Le contrôle joue le clip sans créer de thread
Par défaut: $ACS_TRANSPARENT, $ACS_AUTOPLAY
Forcé: $WS_CHILD, $WS_VISIBLE
$iExStyle [optionnel] Style étendu du contrôle. Ils correspondent aux constantes standards $WS_EX_* . Consultez Table des styles étendue .

Valeur de retour

Succès: Retourne le handle du contrôle animation.
Échec: Retourne 0.

Remarque

Cette fonction est destinée aux utilisateurs expérimentés et pour apprendre comment fonctionne le contrôle.

En relation

_GUICtrlAVI_Destroy

Exemples

Exemple 1

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

Global $g_hAVI

Example()

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

    ; Crée une GUI
    $hGUI = GUICreate("(External 1) AVI Create", 300, 100)
    $g_hAVI = _GUICtrlAVI_Create($hGUI, $sFile, -1, 10, 10)
    GUISetState(@SW_SHOW)

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

    ; Joue l'exemple AutoIt AVI
    _GUICtrlAVI_Play($g_hAVI)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Ferme le clip AVI
    _GUICtrlAVI_Close($g_hAVI)

    GUIDelete()
EndFunc   ;==>Example

Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg
    Local $hWndFrom, $iIDFrom, $iCode
    $hWndFrom = $lParam
    $iIDFrom = BitAND($wParam, 0xFFFF) ; Mot de poids faible
    $iCode = BitShift($wParam, 16) ; Mot de poids fort
    Switch $hWndFrom
        Case $g_hAVI
            Switch $iCode
                Case $ACN_START ; Informe la fenêtre parent du contrôle animation que le clip AVI associé a commencé à jouer
                    _DebugPrint("$ACN_START" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Aucune valeur de retour
                Case $ACN_STOP ; Informe la fenêtre parent du contrôle animation que le clip AVI associé a cessé de jouer
                    _DebugPrint("$ACN_STOP" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Aucune valeur de retour
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND

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


Exemple 2

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

Global $g_hAVI

Example()

Func Example()
    Local $hGUI

    ; Crée une GUI
    $hGUI = GUICreate("(External 2) AVI Create", 300, 100)
    $g_hAVI = _GUICtrlAVI_Create($hGUI, @SystemDir & "\Shell32.dll", 150, 10, 10)
    GUISetState(@SW_SHOW)

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

    ; Joue l'exemple AutoIt AVI
    _GUICtrlAVI_Play($g_hAVI)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Ferme clip AVI
    _GUICtrlAVI_Close($g_hAVI)

    GUIDelete()
EndFunc   ;==>Example

Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg
    Local $hWndFrom, $iIDFrom, $iCode
    $hWndFrom = $lParam
    $iIDFrom = BitAND($wParam, 0xFFFF) ; Mot de poids faible
    $iCode = BitShift($wParam, 16) ; Mot de poids fort
    Switch $hWndFrom
        Case $g_hAVI
            Switch $iCode
                Case $ACN_START ; Informe la fenêtre parent du contrôle animation que le clip AVI associé a commencé à jouer
                    _DebugPrint("$ACN_START" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Aucune valeur de retour
                Case $ACN_STOP ; Informe la fenêtre parent du contrôle animation que le clip AVI associé a cessé de jouer
                    _DebugPrint("$ACN_STOP" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Aucune valeur de retour
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND

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