Функция GUICtrlCreateObj

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


GUICtrlCreateObj

Создаёт элемент ActiveX в GUI.

GUICtrlCreateObj ( ObjectVar, left, top [, width [, height ]] )

Параметры

ObjectVar Переменная ранее открытого объекта
left Координата левого края. Если -1 - тогда координата в соответствии с GUICoordMode.
top Координата верхнего края. Если -1 - тогда координата в соответствии с GUICoordMode.
width [необязательный] Ширина элемента (по умолчанию предыдущее значение).
height [необязательный] Высота элемента (по умолчанию предыдущее значение).

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

Успех:Возвращает идентификатор (controlID) нового элемента.
Ошибка:Возвращает 0.

Примечания

Эта функция пытается вставлять 'ActiveX Control' или 'Document Object' внутри GUI.
Не каждый элемент управления может быть встроен. Они должны поддерживаться интерфейсом 'IDispatch'.

'Document Objects' только видимый, если окно созданное с помощью GUICreate() включает стиль $WS_CLIPCHILDREN.

GUI-функции GUICtrlRead и GUICtrlSet не взаимодействуют с этим элементом. Объект управляется только использованием 'methods' или 'properties' в $ObjectVar.

См. также

ObjCreate, ObjGet, ObjEvent, IsObj

Пример

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

; Простой пример: Встраивание объекта Internet Explorer внутри AutoIt GUI
;
; Смотрите также: http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
; и функцию _IECreateEmbedded

Local $oIE, $GUIActiveX, $iBtn_Back, $iBtn_Forward, $iBtn_Home, $iBtn_Stop, $iBtn_Refresh, $iBtn_Selectall, $iBtn_Unselect

$oIE = ObjCreate("Shell.Explorer.2")

; Создаёт простое GUI-окно для вывода
GUICreate("Тест вставленного объекта браузера", 640, 480, -1, -1, _
        BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN), $WS_EX_COMPOSITED)
$GUIActiveX = 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() ; показывает созданное окно

$oIE.navigate("http://www.autoitscript.com")

; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $iBtn_Home
            $oIE.navigate("http://www.autoitscript.com")
        Case $iBtn_Back
            $oIE.GoBack
        Case $iBtn_Forward
            $oIE.GoForward
        Case $iBtn_Stop
            $oIE.Stop
        Case $iBtn_Refresh
            $oIE.document.execCommand("Refresh")
        Case $iBtn_Selectall
            $oIE.document.execCommand("SelectAll")
        Case $iBtn_Unselect
            $oIE.document.execCommand("Unselect")
    EndSwitch
WEnd

GUIDelete()