Elemente eines ActiveX-Steuerelements

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu ActiveX-Steuerelemente verwenden - Index


Ein ActiveX-Steuerelement enthält eine Vielzahl von Elementen, von denen jedes eine bestimmte Funktion erfüllt. Bei diesen Elementen handelt es sich um ein VCL-Steuerelement, einen COM-Objekt-Wrapper, der Eigenschaften, Methoden und Ereignisse zur Verfügung stellt, sowie um eine oder mehrere verknüpfte Typbibliotheken.

VCL-Steuerelement

Die zugrunde liegende Implementierung eines ActiveX-Steuerelements in Delphi ist ein VCL-Steuerelement. Zum Erstellen eines ActiveX-Steuerelements müssen Sie zunächst das VCL-Steuerelement, das als Basis für das ActiveX-Steuerelement dienen soll, erstellen oder auswählen.

Das zugrunde liegende VCL-Steuerelement muss ein Nachkomme von TWinControl sein, da es über ein Fenster verfügen muss, das von der Host-Anwendung übernommen werden kann. Bei Erstellung eines Active-Formulars ist dieses Objekt ein Nachkomme von Vcl.AxCtrls.TActiveForm.

Hinweis: Der ActiveX-Steuerelement-Experte enthält eine Liste der verfügbaren Nachkommen von TWinControl, aus denen Sie ein ActiveX-Steuerelement erstellen können. In dieser Liste sind jedoch nicht alle Nachkommen von TWinControl enthalten. Einige Steuerelemente, etwa THeaderControl, sind als nicht kompatibel mit ActiveX registriert (über die Prozedur RegisterNonActiveX) und werden nicht in der Liste angezeigt.

ActiveX-Wrapper

Das eigentliche COM-Objekt ist ein ActiveX-Wrapper-Objekt für das VCL-Steuerelement. Für Active-Formulare handelt es bei dieser Klasse immer um axctrls.TActiveFormControl. Für andere ActiveX-Steuerelemente weist sie einen Namen des Formats TVCLClass auf, wobei TVCLClass der Name der VCL-Steuerelementklasse ist. So hätte beispielsweise der ActiveX-Wrapper für TButton die Bezeichnung TButtonX.

Die Wrapper-Klasse ist ein Nachkomme von axctrls.TActiveXControl, die Unterstützung für die ActiveX-Schnittstellen bietet. Der ActiveX-Wrapper erbt diese Unterstützung, was es ihm ermöglicht, Windows-Nachrichten an das VCL-Steuerelement weiterzuleiten und sein Fenster in der Host-Anwendung zu übernehmen.

Der ActiveX-Wrapper stellt Clients die Eigenschaften und Methoden des VCL-Steuerelements über seine Standardschnittstelle zur Verfügung. Sie müssen die Eigenschaften und Methoden der Wrapper-Klasse implementieren und Methodenaufrufe dem zugrunde liegende VCL-Steuerelement überlassen. Sie müssen für die Wrapper-Klasse auch die Methoden bereitstellen, die Ereignisse des VCL-Steuerelements bei Clients auslösen und diese Methoden als Ereignisbehandlungen im VCL-Steuerelement zuweisen.

Typbibliothek

Sie müssen für Ihr ActiveX-Steuerelement eine Typbibliothek mit den Typdefinitionen für die Wrapper-Klasse generieren, ihre Standardschnittstelle und alle Typdefinitionen, die diese benötigen. Diese Typinformationen stellen für Steuerelemente eine Möglichkeit dar, den Host-Anwendungen mitzuteilen, welche Dienste sie zur Verfügung stellen. Sie können diese Informationen auch mit dem Typbibliothekseditor anzeigen und ändern. Obwohl diese Informationen in einer separaten binären Typbibliotheksdatei (Erweiterung .TLB) gespeichert sind, können Sie sie auch als Ressource in die DLL des ActiveX-Steuerelements compilieren.

Eigenschaftenseite

Sie können Ihr ActiveX-Steuerelement wahlweise mit einer Eigenschaftenseite versehen. Auf dieser Eigenschaftenseite können Benutzer einer Host-Anwendung (Client-Anwendung) die Eigenschaften Ihres Steuerelements anzeigen und bearbeiten. Sie können mehrere Eigenschaften auf einer Seite gruppieren, oder mithilfe einer Seite eine dialogfeldähnliche Schnittstelle für eine Eigenschaft erstellen. Weitere Informationen zur Erstellung von Eigenschaftenseiten finden Sie unter Eigenschaftenseiten für ActiveX-Steuerelemente erstellen.