Architektur von ActiveX-Steuerelementen

Die ActiveX-Steuerungstechnologie basiert auf vielen Objekten und Schnittstellen auf niedriger ebener Ebene in OLE. Die genauen Schnittstellen, die für ein Steuerelement verfügbar sind, variieren je nach seinen Funktionen. In diesem Abschnitt werden die Funktionen eines Steuerelements genauer untersucht.

ActiveX-Steuerelemente werden verwendet, um die Bausteine zum Erstellen von Benutzeroberflächen in Anwendungen bereitzustellen. Beispielsweise ist eine Schaltfläche, die eine Aktion in der Containeranwendung initiiert, wenn darauf geklickt wird, ein einfaches Steuerelement. Die folgenden Aspekte sind bei der Bereitstellung dieser Benutzeroberfläche-Bausteine beteiligt:

  • Ein Steuerelement kann in seinen Containerclient eingebettet werden, um einige Benutzeroberflächenaktivitäten innerhalb des Clients zu unterstützen. Daher muss ein Steuerelement eine visuelle Darstellung von sich selbst bereitstellen, wenn es in den Container eingebettet ist, und eine Möglichkeit bieten, seinen Zustand zu speichern, z. B. seine Eigenschaftswerte und seine Position in seinem Container. Der Client muss unterstützen, ein Container mit darin eingebetteten Objekten zu sein.
  • Durch Die Aktivierung des Steuerelements mit einer Tastatur oder Maus initiiert der Endbenutzer eine Aktion in der Clientanwendung. Daher muss ein Steuerelement auf Tastaturaktivitäten reagieren und mit seinem Client kommunizieren können, damit es seinen Container über seine Aktivitäten benachrichtigen und Ereignisse im Client auslösen kann.
  • Der Client stellt in der Regel auch eine Programmiersprache bereit, über die der Endbenutzer Aktionen initiieren kann, die von den Eigenschaften und Methoden des Steuerelements bereitgestellt werden. Daher muss ein Steuerelement auch die Automatisierung und einen Satz von Entwurfszeit- und Laufzeitfeatures unterstützen.

Aufgrund seiner Rolle bei der Bereitstellung von Benutzeroberflächenbausteinen unterstützt ein Steuerelement in der Regel Features in den folgenden Bereichen, in denen OLE-Technologien wie angegeben verwendet werden:

Eigenschaften und Methoden

Wie jedes OLE-Objekt kann ein Steuerelement einen Großteil seiner Funktionalität über eine Reihe von eingehenden Schnittstellen mit Eigenschaften und Methoden bereitstellen. Der Container kann zusätzliche Umgebungseigenschaften bereitstellen und die Erweiterung der Eigenschaften des Steuerelements durch Aggregation unterstützen. Diese Features basieren auf OLE-Automatisierung, Eigenschaftenseiten, anschließbaren Objekten und ActiveX-Steuerungstechnologien.

Ereignisse

Zusätzlich zur Bereitstellung von Eigenschaften und Methoden kann ein ActiveX-Steuerelement auch ausgehende Schnittstellen bereitstellen, um den Client über Ereignisse zu benachrichtigen. Der Client muss die Behandlung dieser Ereignisse unterstützen. Diese Features verwenden OLE-Automatisierung und miteinander verbindende Objekte.

Visuelle Darstellung

Ein Steuerelement kann die Positionierung und Anzeige in seinem Container unterstützen. Der Container positioniert das Steuerelement und bestimmt seine Größe. Diese Features verwenden zusammengesetzte Dokumenttechnologie, einschließlich OLE-Drag and Drop-Technologie.

Tastaturbehandlung

Ein Steuerelement kann auf Tastaturbeschleunigungen reagieren, sodass der Endbenutzer Aktionen initiieren kann, die vom Steuerelement ausgeführt werden. Der Container verwaltet die Tastaturaktivität für alle eingebetteten Steuerelemente. Diese Features verwenden Steuerungs- und Verbunddokumenttechnologien.

Persistenz

Ein Steuerelement kann seinen Zustand speichern. Der Client verwaltet die Persistenz seiner eingebetteten Steuerelemente. Diese Features verwenden strukturierte Speicher- und Objektpersistenztechnologien.

Registrierung und Lizenzierung

Ein Steuerelement unterstützt in der Regel die Selbstregistrierung und erstellt eine Reihe von Registrierungseinträgen, wenn es instanziiert wird. Ein Steuerelement kann auch lizenziert werden, um unbefugte Verwendung zu verhindern.

Die meisten dieser Features beziehen sich sowohl auf das Steuerelement als auch auf den Clientcontainer.

ActiveX-Steuerelemente