Funktion Mit der Control-Anweisung können Sie ein ActiveX Control in ein SAP GUI Fenster einbetten. 
 
Beispiel Control (10.5,40.2) (20.5,80) progid="Comctl.ListViewCtrl" name="cid"

Das ListView Control aus den "Microsoft Common Controls" wird in dem Screen eingeblendet. Falls die Scriptvariable V[cid] bereits eine Referenz auf ein gültiges ListView Control enthält, wird dieses angezeigt. Ansonsten wird ein neues ActiveX Objekt angelegt und die Referenz darauf in der Scriptvariable  V[cid] zurückgeliefert. 
 

Format Control (Zeile1,Spalte1) (Zeile2,Spalte2) progid="ProgId"  name="vname"

Die Angaben (Zeile,Spalte1) und (Zeile2,Spalte2) stellen die linke obere Ecke und die rechte untere Ecke des Anzeigebereichs dar. Es können Dezimalzahlen (mit Punkt, nicht Komma) angegeben werden, um das Bild exakt zu positionieren.

Folgende Formate sind bei progid= möglich:

  • Angabe der ProgID der ActiveX Komponente. Beispiele:

    progid="Comctl.ListViewCtrl"    List View Control aus den Microsoft Common Controls
    progid="Comctl.TreeCtrl"          Tree View Control aus den Microsoft Common Controls
    progid="Shell.Explorer"              Internet Explorer Control
    progid="myclass.control1"        Eine selbst implementierte ActiveX Komponente (z.B. in VB.NET programmiert)
     

  • Angabe der technischen CLSID ("Class Identification". Beispiel

    progid="{CA8A9780-280D-11CF-A24D-444553540000}"
     

  • Angabe einer URL. In diesem Fall wird das Explorer Control mit der angegebenen URL geöffnet. Beispiele:

    progid="http://www.google.de"
    progid="file://c:/demo/d1.html
    progid="file://SAPMR:...
    progid="file://SAWMR:..."
     

  • Direkte Angabe von HTML-Code in der Notation "MSHTML:...". In diesem Fall wird das Explorer Control mit dem angegebenen HTML-Code geöffnet.  Beispiel:

    progid="MSHTML:<div style='color:#202020;'>Hello</div>"

Die Kommunikation mit dem Control erfolgt durch VB.NET, JavaScript oder VBScript  Routinen, siehe CallVB,  CallJS und CallVBS.

Mit name= nennen Sie eine GuiXT Variable, in die nach Erzeugen des Controls ein Verweis auf das erzeugte Objekt gestellt wird. Wenn SIe VB.NET, JavaScript oder VB.Script Funktionen aufrufen, können Sie die Variable als Parameter mitgeben und dann auf die Attribute des Objekts zugreifen und Objektmethoden aufrufen.

Es ist auch möglich, auf Ereignisse des Controls zu reagieren ("event handling"), siehe Objekt "guixt" in Javascript / VBScript.

Durch if Q[ok] können Sie abfragen, ob das Control erzeugt werden konnte.

Bei der Anzeige von HTML können Sie durch connectHTML  Eigenschaften der HTML-Seite lesen und setzen. In Tips, Tricks and Samples finden Sie weitere Beispiele Hinweise zur Kommunikation zwischen der HTML-Seite und GuiXT.
 

Zusatzoptionen
-floating Zur Anzeige wird automatisch ein neues Fenster geöffnet, das unabhängig vom SAP GUI Fenster verschoben und in der Größe verändert werden kann.
-maximize Das Fenster wird maximiert angezeigt. Meist in  Verbindung mit -floating
-topmost In  Verbindung mit -floating: Das neu erzeugte Fenster wird über allen anderen Fenstern angezeigt
-scrollbars Anzeige mit Scrollbalken. Häufig besitzt das Control selbst bereits Scrollbalken, sodass diese Option nicht nötig ist.
-closeonhide Das Control wird geschlossen, wenn es nicht mehr angezeigt wird.
-silent Nur relevant im Web Browser Control: Alle Benutzerdialoge werden unterdrückt, zum Beispiel Scriptfehler der anzuzeigenden HTML-Seite, aber auch andere Dialoge.
title= In  Verbindung mit -floating: Fenstertitel
initflag= Angabe eines Variablennamens. In die Variable wird von GuiXT "X" gestellt, wenn das Control neu erzeugt wurde, sonst "". Man durch Abfrage der Variablen nach der Control Anweisung damit steuern, ob eine VB.NET, JavaScript oder VBScript Initialisierungsroutine aufgerufen werden soll.
properties= Eigenschaften (jeweils Name:Wert) des Controls, die bei Initialisierung gesetzt werden sollen.

Das Format ist "name1:wert1;name2:wert2;..." Bitte bei den Eigenschaftsnamen Gross-/Kleinschreibung beachten.

Die Option ist nur wirksam, falls das ActiveX Control das Interface "IPersistPropertyBag" unterstützt.

Beispiel:

Control (2,0) (20,72) name="rtf" progid="RICHTEXT.RichtextCtrl" properties="ScrollBars:3"

loadFromFile= Der Zustand des Controls wird aus der angegebenen Datei geladen.

Die Option ist nur wirksam, falls das ActiveX Control das Interface "IPersistStreamInit" unterstützt.

Der Parameter progid= kann dann entfallen.

Format der Datei: Am Anfang steht die Klassen-Id CLSID des Controls; danach der Zustand in dem Format der Schnittstelle "IPersistStreamInit".

Beispiel:

Control (2,0) (20,72) name="rtf" loadFromFile="rtfdefaults.tsm"

Sie können den Zustand eines Controls mit der Anweisung SaveControl in eine Datei sichern.

Eine weitere Möglichkeit zum Erzeugen einer Initialisierungsdatei ist Microsoft's "ActiveX Control Test Container" TSTCON.EXE. Dort können Sie Eigenschaften des Controls setzen und über die Menüfunktion "Control -> Save to stream" eine Initialisierungsdatei abspeichern.

Tipps & Tricks
  • Die auf dem PC installierten ActiveX Controls werden im GuiXT Script Editor über Tools->Display ActiveX Controls angezeigt
  • Die von einer ActiveX Komponente zur Verfügung gestellten Attribute und Methoden können in Visual Studio oder in VBScript Editoren wie z.B. VbsEdit angezeigt werden.
Komponente GuiXT + Controls