Zugreifen auf ActiveX-Steuerelemente und -Objekte
Sie können jedes ActiveX-Steuerelement verwenden, das auf Ihrem Computer vorhanden ist. Sie verwenden ein ActiveX-Steuerelement, indem Sie es zu einem Formular hinzufügen, seine Eigenschaften einstellen und Behandlungsroutinen für seine Ereignisse schreiben oder seine Methoden aufrufen. Ein ActiveX-Steuerelement können Sie folgendermaßen zu einem Formular hinzufügen: mit der Symbolleiste für Formular-Steuerelemente, mit einem OLE-Container-Steuerelement oder mit Code. Weitere Informationen zum Hinzufügen eines ActiveX-Steuerelements im Formular-Designer finden Sie unter Freigeben von Informationen und Hinzufügen von OLE.
In Code können Sie ein ActiveX-Steuerelement weitgehend so erstellen wie jedes andere Visual FoxPro-Steuerelement. Bevor Sie das Steuerelement erstellen, müssen Sie allerdings den Namen der Klassenbibliothek des Steuerelements kennen. Dieser Name ist in der Windows-Registrierung gespeichert. Wenn Sie keine andere Möglichkeit haben, den Namen der Klassenbibliothek zu ermitteln, können Sie wie folgt vorgehen: Erstellen Sie das Steuerelement mit dem Formular-Designer (wie im vorherigen Abschnitt beschrieben), und zeigen Sie die OLEClass-Eigenschaft des Steuerelements an.
ActiveX-Objekte können direkt mit CREATEOBJECT( ) erstellt werden und benötigen keine Instanz eines Formulars.
So erstellen Sie ein ActiveX-Steuerelement in Code
- Rufen Sie CREATEOBJECT( ) auf, um ein Formular zu erstellen.
- Fügen Sie das Steuerelement hinzu, indem Sie die AddObject-Methode des neuen Formulars aufrufen. Geben Sie als Klasse
olecontrol
an. Im dritten Parameter der AddObject-Methode müssen Sie den Namen der Klassenbibliothek des Steuerelements übergeben.
Das folgende Programm erstellt z. B. ein neues Formular und fügt zu diesem ein Hierarchie-Steuerelement hinzu:
oMyForm = CREATEOBJECT("form")
oMyForm.AddObject("oleOutline","olecontrol", ;
"MSOutl.Outline")
Nachdem Sie das Formular und das Steuerelement erstellt haben, können Sie das Formular anzeigen, indem Sie dessen Show-Methode aufrufen, und das Steuerelement, indem Sie dessen Visible-Eigenschaft auf Wahr (.T.) einstellen.
oMyForm.oleOutline.Visible = .T.
oMyForm.Show
Einige ActiveX-Steuerelemente sind nicht dafür vorgesehen, von Benutzern interaktiv verwendet zu werden. Zum Beispiel unterstützt ein Zeitgeber-Steuerelement keine Methoden zur Benutzerinteraktion. Aber selbst dann können Sie das Steuerelement in einem Formular anordnen, da das Steuerelement normalerweise eine sichtbare Standardkomponente, z. B. ein Symbol, zur Verfügung stellt. Häufig ist es aber nicht möglich, das Symbol zu wechseln oder dessen Größe zu ändern.
Wenn Sie nicht möchten, dass Ihre Anwendung das Symbol eines nicht interaktiven Steuerelements anzeigt, können Sie das Steuerelement ausblenden, indem Sie entweder die Visible-Eigenschaft seines OLE-Container-Steuerelements auf Falsch (.F.) oder seine Left-Eigenschaft auf einen negativen Wert (z. B. -100) einstellen. Letzteres bewirkt, dass das Steuerelement aus dem sichtbaren Teil des Fensters herausgeschoben wird. Eine weitere Möglichkeit besteht darin, dass Sie das Steuerelement in einem Formular anordnen, das niemals angezeigt wird (dessen Show-Methode also niemals aufgerufen wird). In allen Fällen können Sie die Methoden des Steuerelements so aufrufen, als würde das Steuerelement angezeigt.
Siehe auch
Zugriff auf externe Bibliotheken | Zugreifen auf Dynamic-Link Libraries (DLLs) | Zugreifen auf eine Visual FoxPro-Bibliothek | Erweitern von Visual FoxPro mit externen Bibliotheken | Zugreifen auf die Visual FoxPro-API | Freigeben von Informationen und Hinzufügen von OLE | CREATEOBJECT( )-Funktion