Freigeben über


Container: Client-Element-Benachrichtigungen

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 überschreibbaren Funktionen erläutert, die vom MFC-Framework aufgerufen werden, wenn Serveranwendungen Elemente im Dokument Ihrer Clientanwendung ändern.

COleClientItem definiert mehrere überschreibbare Funktionen, die als Reaktion auf Anforderungen der Komponentenanwendung aufgerufen werden, die auch als Serveranwendung bezeichnet wird. Diese überschreibbaren Elemente dienen in der Regel als Benachrichtigungen. Sie informieren die Containeranwendung über verschiedene Ereignisse, z. B. Scrollen, Aktivierung oder eine Änderung der Position, sowie über Änderungen, die der Benutzer beim Bearbeiten oder anderweitigen Manipulieren des Elements vornimmt.

Das Framework benachrichtigt Ihre Containeranwendung über Änderungen durch einen Aufruf der überschreibbaren Funktion COleClientItem::OnChange, deren Implementierung erforderlich ist. Diese geschützte Funktion empfängt zwei Argumente. Der erste gibt den Grund an, warum der Server das Element geändert hat:

Benachrichtigung Bedeutung
OLE_CHANGED Die Darstellung des OLE-Elements wurde geändert.
OLE_SAVED Das OLE-Element wurde gespeichert.
OLE_CLOSED Das OLE-Element wurde geschlossen.
OLE_RENAMED Das Serverdokument, das das OLE-Element enthält, wurde umbenannt.
OLE_CHANGED_STATE Das OLE-Element wurde von einem Zustand in einen anderen geändert.
OLE_CHANGED_ASPECT Der Zeichenaspekt des OLE-Elements wurde durch das Framework geändert.

Diese Werte stammen aus der OLE_NOTIFICATION Enumeration, die in AFXOLE.H definiert ist.

Das zweite Argument für diese Funktion gibt an, wie sich das Element geändert hat oder welchen Zustand es eingegeben hat:

Wenn das erste Argument Folgendes lautet Zweites Argument
OLE_SAVED oder OLE_CLOSED Wird nicht verwendet.
OLE_CHANGED Gibt den Aspekt des geänderten OLE-Elements an.
OLE_CHANGED_STATE Beschreibt den eingegebenen Zustand (emptyState, loadedState, openState, activeState oder activeUIState).

Weitere Informationen zu den Zuständen, die ein Clientelement annehmen kann, finden Sie unter Container: Clientelement-Zustände".

Das Framework ruft COleClientItem::OnGetItemPosition auf, wenn ein Element für die direkte Bearbeitung aktiviert wird. Die Implementierung ist für Anwendungen erforderlich, die die direkte Bearbeitung unterstützen. Der MFC-Anwendungs-Assistent stellt eine grundlegende Implementierung bereit, die die Koordinaten des Elements dem CRect-Objekt zuweist, das als Argument an OnGetItemPosition übergeben wird.

Wenn sich die Position oder Größe eines OLE-Elements während der Bearbeitung an Ort und Stelle ändert, müssen die Informationen des Containers über die Position des Elements und die Beschneidungsrechtecke aktualisiert werden, und der Server muss Informationen zu den Änderungen erhalten. Das Framework ruft COleClientItem::OnChangeItemPosition zu diesem Zweck auf. Der MFC-Anwendungs-Assistent stellt eine Überschreibung bereit, die die Funktion der Basisklasse aufruft. Sie sollten die Funktion bearbeiten, die der Anwendungsassistent für Ihre COleClientItem-abgeleitete Klasse schreibt, damit die Funktion alle Informationen aktualisiert, die vom Client-Element-Objekt aufbewahrt werden.

Siehe auch

Behälter
Container: Clientelement-Zustände
COleClientItem::OnChangeItemPosition