UDF > IE >


_IECreateEmbedded

Crée un objet Webbrowser adapté à l'intégration dans une GUI AutoIt avec GUICtrlCreateObj()

#include <IE.au3>
_IECreateEmbedded ( )

Valeur de retour

Succès: Retourne une référence à un objet Webbrowser.
Échec: Définit @error <> 0.
@error: 1 ($_IEStatus_GeneralError) - Erreur générale

Remarques

Aucune action ne peut être effectuée sur cet objet tant qu'il n'a pas été intégré dans une application parent (par exemple, vous ne pouvez pas effectuer une _IENavigate().
En raison de cette restriction, le navigateur n'est pas automatiquement conneté à 'about:blank' comme un navigateur créé avec _IECreate().
Vous devez donc utiliser _IENavigate() pour connecter ce navigateur à 'about:blank' après qu'il ait été intégré dans une application parent et avant de tenter des opérations sur un document ayant été chargé (par exemple _IEBodyWriteHTML()).

Il y a plusieurs propriétés liées à un objet InternetExplorer (par exemple retournées par _IECreate()) qui ne s'appliquent pas à cet objet.
Il s'agit notamment du statut du texte, de la barre d'adresse et d'autres qui peuvent exister pour un navigateur, mais qui n'existent pas pour un contrôle intégré.

Vous pouvez avoir des problèmes de visibilité d'objet sauf si vous utilisez le style $WS_CLIPCHILDREN de Windows dans GUICreate().

_IEQuit() ne peut pas être utilisée avec cet objet. L'objet sera détruit quand la GUI parente sera détruite.

En relation

_IEAttach, _IECreate, _IENavigate

Exemple

; Intercepte des erreurs COM comme 'Back' et 'Forward' 
; en dehors des limites historiques qui n'interrompent pas le script
; (attend les erreurs COM pour les envoyer à la console)

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

Local $oIE = _IECreateEmbedded()
GUICreate("Embedded Web control Test", 640, 580, _
        (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
        $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
GUICtrlCreateObj($oIE, 10, 40, 600, 360)
Local $idButton_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30)
Local $idButton_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30)
Local $idButton_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
Local $idButton_Stop = GUICtrlCreateButton("Stop", 340, 420, 100, 30)

Global $g_idError_Message = GUICtrlCreateLabel("", 100, 500, 500, 30)
GUICtrlSetColor(-1, 0xff0000)

GUISetState(@SW_SHOW) ; Affiche la GUI

_IENavigate($oIE, "http://www.autoitscript.com")
_IEAction($oIE, "stop")

; Attend que l'utilisateur ferme la fenêtre
Local $iMsg = GUIGetMsg()

While $iMsg <> $GUI_EVENT_CLOSE
    Select
        Case $iMsg = $idButton_Home
            _IENavigate($oIE, "http://www.autoitscript.com")
            _IEAction($oIE, "stop")
            _IEAction($oIE, "back")
            CheckError("Home", @error, @extended)
        Case $iMsg = $idButton_Back
            _IEAction($oIE, "back")
            CheckError("Back", @error, @extended)
        Case $iMsg = $idButton_Forward
            _IEAction($oIE, "forward")
            CheckError("Forward", @error, @extended)
        Case $iMsg = $idButton_Stop
            _IEAction($oIE, "stop")
            CheckError("Stop", @error, @extended)
    EndSelect
    $iMsg = GUIGetMsg()
WEnd

GUIDelete()
Exit

Func CheckError($sMsg, $iError, $iExtended)
    If $iError <> 0 Then
        $sMsg = "Erreur d'utilisation " & $sMsg & " bouton (" & $iExtended & ")"
    Else
        $sMsg = ""
    EndIf
    GUICtrlSetData($g_idError_Message, $sMsg)
EndFunc   ;==>CheckError