ActiveX Steuerelementarchitektur
ActiveX steuert Die Technologie baut auf einer Grundlage vieler Objekte und Schnittstellen auf niedrigerer Ebene in OLE auf. Die genauen Schnittstellen, die für ein Steuerelement verfügbar sind, variieren je nach seinen Funktionen. In diesem Abschnitt werden die Funktionen eines Steuerelements näher betrachtet.
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 Bausteine der Benutzeroberfläche 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 muss eine Möglichkeit bieten, seinen Zustand zu speichern, z. B. seine Eigenschaftswerte und seine Position in seinem Container. Der Client muss als Container mit eingebetteten Objekten unterstützen.
- Durch aktivieren des Steuerelements mithilfe 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 Automatisierung und einige Entwurfszeit- und Laufzeitfeatures unterstützen.
Aufgrund seiner Rolle bei der Bereitstellung von Bausteinen für die Benutzeroberfläche unterstützt ein Steuerelement in der Regel Features in den folgenden Bereichen, die OLE-Technologien wie angegeben verwenden:
-
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, miteinander verbundenen 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 Verbunddokumenttechnologie, einschließlich OLE-Drag & Drop-Technologie.
-
Tastaturbehandlung
-
Ein Steuerelement kann auf Zugriffstasten reagieren, damit 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 der eingebetteten Steuerelemente. Diese Features verwenden technologien für strukturierte Speicherung und Objektpersistenz.
-
Registrierung und Lizenzierung
-
Ein Steuerelement unterstützt in der Regel die Selbstregistrierung und erstellt einen Satz von Registrierungseinträgen, wenn es instanziiert wird. Ein Steuerelement kann auch lizenziert werden, um eine nicht autorisierte Verwendung zu verhindern.
Die meisten dieser Features umfassen sowohl das Steuerelement als auch dessen Clientcontainer.