Freigeben über


Container: Client-Element-Zustände

Hinweis

Die Microsoft Foundation Classes (MFC)-Bibliothek wird weiterhin unterstützt. Wir fügen jedoch keine Features mehr hinzu oder aktualisieren die Dokumentation.

In diesem Artikel werden die verschiedenen Zustände beschrieben, die ein Kundenobjekt während seiner Lebensdauer durchläuft.

Ein Clientelement durchläuft mehrere Zustände, während es erstellt, aktiviert, geändert und gespeichert wird. Jedes Mal, wenn sich der Status des Elements ändert, ruft das Framework COleClientItem::OnChange mit der OLE_CHANGED_STATE-Benachrichtigung auf. Der zweite Parameter ist ein Wert aus der COleClientItem::ItemState Enumeration. Es kann eines der folgenden sein:

  • COleClientItem::emptyState

  • COleClientItem::loadedState

  • COleClientItem::openState

  • COleClientItem::activeState

  • COleClientItem::activeUIState

Im leeren Status ist ein Client-Element noch nicht vollständig ein Element. Der Arbeitsspeicher wurde dafür zugewiesen, wurde aber noch nicht mit den Daten des OLE-Elements initialisiert. Dies ist der Zustand, in dem sich ein Client-Element befindet, wenn es durch einen Aufruf von new erstellt wurde, aber noch nicht den zweiten Schritt der typischen zweistufigen Erstellung durchlaufen hat.

Im zweiten Schritt, der durch einen Aufruf von COleClientItem::CreateFromFile oder einer anderen CreateFromxxxx-Funktion erfolgt, wird das Element vollständig erstellt. Die OLE-Daten (aus einer Datei oder einer anderen Quelle, z. B. der Zwischenablage) wurden dem COleClientItem-abgeleiteten Objekt zugeordnet. Jetzt befindet sich das Element im geladenen Zustand.

Wenn ein Element nicht im Dokument des Containers, sondern im Fenster des Servers geöffnet wurde, befindet es sich im Zustand "Geöffnet" (oder vollständig geöffnet). In diesem Status wird normalerweise eine Kreuzschraffur über der Darstellung des Objekts im Fenster des Containers dargestellt, um anzuzeigen, dass das Objekt an anderer Stelle aktiv ist.

Wenn ein Element an Ort und Stelle aktiviert wurde, durchläuft es, in der Regel nur kurz, den aktiven Status. Anschließend wird der aktive Zustand der Benutzeroberfläche eingegeben, in dem der Server seine Menüs, Symbolleisten und andere Benutzeroberflächenkomponenten mit denen des Containers zusammengeführt hat. Das Vorhandensein dieser Komponenten der Benutzeroberfläche unterscheidet den aktiven Status der Benutzeroberfläche vom aktiven Status. Andernfalls ähnelt der aktive Zustand dem aktiven Zustand der Benutzeroberfläche. Wenn der Server "Rückgängig" unterstützt, muss der Server die Rückgängig-Statusinformationen des OLE-Elements beibehalten, bis er den geladenen oder geöffneten Zustand erreicht.

Siehe auch

Behälter
Aktivierung
Containers: Client-Element-Benachrichtigungen
Spürhunde
CRectTracker-Klasse