Функция _IECreateEmbedded

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


_IECreateEmbedded

Создаёт объект веб-браузера пригодного для вставки в GUI-окно AutoIt с использованием GuiCtrlCreateObj().

#include <IE.au3>
_IECreateEmbedded()

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

Успех:Возвращает ссылку на объект веб-браузера
Ошибка:Возвращает 0 и устанавливает @error
@error:0 ($_IEStatus_Success) = Нет ошибок
1 ($_IEStatus_GeneralError) = Общая ошибка

Примечания

Никаких действий не может быть выполнено с этим объектом, пока он будет встроен в родительское приложение (например невозможно выполнить _IENavigate()). В виду этого ограничения, браузер автоматически не переходит к 'about:blank' подобно браузеру, созданному с помощью _IECreate(). Поэтому вы должны использовать _IENavigate(), чтобы перейти к 'about:blank' после того, как объект был встроен в родительское приложение и это будет перед выполнением любых операций, которые основываются на загрузке документов (например _IEBodyWriteHTML()).

Есть несколько свойств, относящихся к объекту InternetExplorer (такой как, возвращенный _IECreate()), которые не применимы к этому объекту. К ним относятся текст строки состояния, адресная строка и другие, которые могут существовать для браузера, но не существуют для встроенного элемента.

Вы можете иметь проблемы с отображением объекта, если не используете стиль окна $WS_CLIPCHILDREN в GUICreate().

Функция _IEQuit() не может быть использована с данным объектом. Созданный объект удаляется, при удалении родительского окна GUI, в котором он находился.

См. также

GUICreate, GUICtrlCreateObj, _IEAttach, _IECreate, _IENavigate

Пример

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

; Пример 1 - Перехват COM ошибок, таких как 'Назад' и 'Вперёд', находящиеся за пределами границ истории не приводят к отказу скрипта (ожидаемые COM-ошибки будут направлены в консоль)

_IEErrorHandlerRegister()

Local $iBtn_Back, $iBtn_Forward, $iBtn_Home, $iBtn_Stop, $iBtn_Refresh, $iBtn_Selectall, $iBtn_Unselect
Local $oIE = _IECreateEmbedded()
GUICreate("Тест вставленного Web-элемента", 640, 480, -1, -1, _
        BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN), $WS_EX_COMPOSITED)
GUICtrlCreateObj($oIE, 5, 5, 630, 405)
GUICtrlSetResizing(-1, 2 + 4 + 32 + 64)
Opt("GUIResizeMode", 2 + 64 + 256 + 512) ; Для кнопок
$iBtn_Back = GUICtrlCreateButton("Назад", 10, 420, 60, 30)
$iBtn_Forward = GUICtrlCreateButton("Вперёд", 80, 420, 60, 30)
$iBtn_Home = GUICtrlCreateButton("Домой", 150, 420, 60, 30)
$iBtn_Stop = GUICtrlCreateButton("Стоп", 220, 420, 60, 30)
$iBtn_Refresh = GUICtrlCreateButton("Обновить", 290, 420, 60, 30)
$iBtn_Selectall = GUICtrlCreateButton("Выделить всё", 360, 420, 90, 30)
$iBtn_Unselect = GUICtrlCreateButton("Снять выделение", 460, 420, 110, 30)

GUISetState() ; показывает созданное окно

; _IENavigate ($oIE, "about:blank")
_IENavigate($oIE, "http://www.autoitscript.com")

; цикл выполняется, пока пользователь не закроет окно
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $iBtn_Home
            ; _IENavigate ($oIE, "about:blank")
            _IENavigate($oIE, "http://www.autoitscript.com")
        Case $iBtn_Back
            _IEAction($oIE, "back")
        Case $iBtn_Forward
            _IEAction($oIE, "forward")
        Case $iBtn_Stop
            _IEAction($oIE, "stop")
        Case $iBtn_Refresh
            _IEAction($oIE, "refresh")
        Case $iBtn_Selectall
            _IEAction($oIE, "selectall")
        Case $iBtn_Unselect
            _IEAction($oIE, "unselect")
    EndSwitch
WEnd

GUIDelete()
Exit