基 础 函 数 参 考


GUICtrlCreateObj

创建 ActiveX 控件.

GUICtrlCreateObj ( 对象变量, 左距, 顶距 [, 宽度 [, 高度]] )

参 数

对象变量 先前打开的对象变量名称
左距 控件左侧的位置. 若此值为 -1, 则根据 GUICoordMode 的设置计算左侧位置.
顶距 控件上方的位置. 若此值为 -1, 则根据 GUICoordMode 的设置计算顶部位置.
宽度 [可选参数] 控件的宽度(默认使用先前的宽度).
高度 [可选参数] 控件的高度(默认使用先前的高度).

返 回 值

成功: 返回控件标识符(控件ID).
失败: 返回 0.

备 注

函数尝试嵌入 'ActiveX 控件' 或 'Document 对象' 到 GUI.
不是每个控件可以被嵌入. 控件至少必须支持 'IDispatch' 接口.

'Document Objects' 只能显示于 GUICreate() 创建的, 具有 $WS_CLIPCHILDREN 样式的窗口.

GUI 函数 GUICtrlRead 与 GUICtrlSet 对这种控件没有影响. 对象仅受控于 $ObjectVar 使用 '方法' 或 '属性'.

相 关 函 数

ObjCreate, ObjGet, ObjEvent, IsObj

函 数 示 例


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

Example()

; 简单示例: 嵌入Internet Explorer对象到 AutoIt GUI
;
; 参见: http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
Func Example()
    Local $oIE, $GUI_Button_Back, $GUI_Button_Forward
    Local $GUI_Button_Home, $GUI_Button_Stop, $msg

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

    ; 为输出创建一个简单的 GUI
    GUICreate("嵌入 Web 控件测试", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
    GUICtrlCreateObj($oIE, 10, 40, 600, 360)
    $GUI_Button_Back = GUICtrlCreateButton("返回", 10, 420, 100, 30)
    $GUI_Button_Forward = GUICtrlCreateButton("向前", 120, 420, 100, 30)
    $GUI_Button_Home = GUICtrlCreateButton("主页", 230, 420, 100, 30)
    $GUI_Button_Stop = GUICtrlCreateButton("停止", 330, 420, 100, 30)

    GUISetState() ;显示 GUI

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

    ; 等待用户关闭窗口
    While 1
        $msg = GUIGetMsg()

        Select
            Case $msg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $msg = $GUI_Button_Home
                $oIE.navigate("http://www.autoitscript.com")
            Case $msg = $GUI_Button_Back
                $oIE.GoBack
            Case $msg = $GUI_Button_Forward
                $oIE.GoForward
            Case $msg = $GUI_Button_Stop
                $oIE.Stop
        EndSelect

    WEnd

    GUIDelete()
EndFunc   ;==>Example

provider with jb51.net (unicode)