Function Reference

首页  后退  前进

GUICtrlCreateObj

 

创建 ActiveX 控件.

 

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

参数

ObjectVar

先前打开的对象变量名称

left

控件左侧的位置. 若此值为 -1, 则根据 GUICoordMode() 的设置计算左侧位置.

top

控件上方的位置. 若此值为 -1, 则根据 GUICoordMode() 的设置计算顶部位置.

width

[可选] 控件的宽度(默认使用先前的宽度).

height

[可选] 控件的高度(默认使用先前的高度).

返回值

成功:

返回控件标识符(控件ID).

失败:

返回 0.

备注

函数尝试嵌入 'ActiveX 控件' 或 'Document 对象' 到 GUI.

不是每个控件可以被嵌入. 控件至少必须支持 'IDispatch' 接口.

 

有关对象的详细信息参考 Obj/COM 参考.

 

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

 

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

相关

IsObj, ObjCreate, ObjEvent, ObjGet

函数示例

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Example()
; Simple example: Embedding an Internet Explorer Object inside an AutoIt GUI
; ; See also: http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
Func Example()
    Local $idButton_Back, $idButton_Forward
    Local $idButton_Home, $idButton_Stop, $iMsg
    Local $oIE = ObjCreate("Shell.Explorer.2")
    ; Create a simple GUI for our output
    GUICreate("Embedded Web control Test", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
    GUICtrlCreateObj($oIE, 10, 40, 600, 360)
    $idButton_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30)
    $idButton_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30)
    $idButton_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
    $idButton_Stop = GUICtrlCreateButton("Stop", 330, 420, 100, 30)
    GUISetState(@SW_SHOW) ;Show GUI
    $oIE.navigate("http://www.autoitscript.com")
    ; Loop until the user exits.
    While 1
        $iMsg = GUIGetMsg()
        Select
            Case $iMsg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $iMsg = $idButton_Home
                $oIE.navigate("http://www.autoitscript.com")
            Case $iMsg = $idButton_Back
                $oIE.GoBack
            Case $iMsg = $idButton_Forward
                $oIE.GoForward
            Case $iMsg = $idButton_Stop
                $oIE.Stop
        EndSelect
    WEnd
    GUIDelete()
EndFunc   ;==>Example

----------------------------------------