Funktionsreferenz

GUICtrlCreateObj

Erzeugt ein ActiveX Control in der GUI.

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

 

Parameter

ObjectVar Eine Variable die auf ein vorher geöffnetes Objekt zeigt
left Linke Seite des Controls. Wenn -1 gesetzt wird, errechnet sich Links entsprechend zu GUICoordMode.
top Obere Seite des Controls. Wenn -1 gesetzt wird, errechnet sich Oben entsprechend zu GUICoordMode.
width [optional] Die Breite des Controls (Standard ist bisher genutzte Breite).
height [optional] Die Höhe des Controls (Standard ist bisher genutzte Höhe).

 

Rückgabewert

Erfolg: Gibt die Identifikationsnummer (Control-ID) des neuen Controls zurück.
Fehler: Gibt 0 zurück.

 

Bemerkungen

Diese Funktion versucht ein 'ActiveX Control' oder ein 'Dokument-Objekt' innerhalb der GUI einzubetten.
Nicht jedes Control kann eingebettet werden. Es muss mindestens Unterstützung einer 'IDispatch'-Schnittstelle bieten.

'Dokument-Objekte' werden nur erkannt wenn der Fenster-Stil $WS_CLIPCHILDREN in GUICreate() gesetzt wurde.

Die GUI Funktionen GUICtrlRead und GUICtrlSet haben keinen Effekt auf dieses Control. Das Objekt kann nur gesteuert werden, nutzt man 'methods' oder 'properties' an der $ObjectVar.

- - - - - - - - Erklärung der Controls - - - - - - - -

 

Verwandte Funktionen

ObjCreate, ObjGet, ObjEvent, IsObj

 

Beispiel


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

Opt('MustDeclareVars', 1)

Example()

; Einfaches Beispiel: Ein Internet Explorer Objekt in eine AutoIt GUI einbetten.
;
; Siehe dazu: http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
Func Example()
    Local $oIE, $GUIActiveX, $GUI_Button_Back, $GUI_Button_Forward
    Local $GUI_Button_Home, $GUI_Button_Stop, $msg
   
    $oIE = ObjCreate("Shell.Explorer.2")

    ; Eine simple GUI für die Ausgabe erzeugen.
    GUICreate("Embedded Web control Test", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
    $GUIActiveX = GUICtrlCreateObj ($oIE, 10, 40, 600, 360)
    $GUI_Button_Back = GUICtrlCreateButton("Zurück", 10, 420, 100, 30)
    $GUI_Button_Forward = GUICtrlCreateButton("Vor", 120, 420, 100, 30)
    $GUI_Button_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
    $GUI_Button_Stop = GUICtrlCreateButton("Stoppen", 330, 420, 100, 30)

    GUISetState() ; GUI anzeigen

    $oIE.navigate("http://www.autoit.de")

    ; Darauf warten, dass das Fenster geschlossen wird ...
    While 1
        $msg = GUIGetMsg()

        Select
            Case $msg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $msg = $GUI_Button_Home
                $oIE.navigate("http://www.autoit.de")
            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