Container: Client-Element-Benachrichtigungen
In diesem Artikel werden die überschreibbaren Funktionen, die das MFC-Framework aufruft, wenn Serveranwendungen Elemente im Dokument der Clientanwendung ändern.
COleClientItem definiert einige überschreibbare Funktionen, die bei Anforderungen aus der Teil-Anwendung aufgerufen werden, die auch die Serveranwendung aufgerufen wird. Diese schreibbaren Elemente werden normalerweise als Benachrichtigungen auf. Sie informieren die Containeranwendung über verschiedene Ereignisse, z Bildlauf, Aktivierung oder eine Meinungsänderung, und von den Änderungen, die erfolgt der diesen beruhen, Benutzer, wenn er bearbeitet oder andernfalls das Element bearbeitet.
Das Framework setzt Ihre Containeranwendung von Änderungen durch einen Aufruf an COleClientItem::OnChange, eine überschreibbare Funktion, deren Implementierung erforderlich ist. Diese geschützte Funktion erhält zwei Argumente. Das erste gibt den Grund an, den der Server das Element ändert:
Benachrichtigung |
Bedeutung |
---|---|
OLE_CHANGED |
Die Darstellung des OLE-Elements wurde geändert. |
OLE_SAVED |
Das OLE-Element wurde gespeichert. |
OLE_CLOSED |
Das OLE-Element ist geschlossen. |
OLE_RENAMED |
Das Serverdokument, welches das OLE-Element enthält, wurde umbenannt. |
OLE_CHANGED_STATE |
Das OLE-Element wurde von den Zuständen geändert. |
OLE_CHANGED_ASPECT |
Der Aspekt Videofunktionen des OLE-Elements ist vom Framework geändert. |
Diese Werte sind von der OLE_NOTIFICATION-Enumeration, die in AFXOLE.H. definiert wird.
Das zweite Argument für dieser Funktion gibt an, wie das Element geändert wurde, oder in welchen Zustand sie eingegeben hat:
Wenn erstes Argument ist |
Zweites Argument |
---|---|
OLE_SAVED oder OLE_CLOSED |
Wird nicht verwendet. |
OLE_CHANGED |
Gibt den Aspekt des OLE-Elements an, die geändert hat. |
OLE_CHANGED_STATE |
Beschreibt den Zustand, der eingegeben wird (emptyState, loadedState, openState, activeState oder activeUIState). |
Weitere Informationen zu den Bedingungen, die ein Clientelement annehmen kann, finden Sie unter Container: Client-Element-Zustände.
Das Framework ruft COleClientItem::OnGetItemPosition auf, wenn ein Element für die direkte Bearbeitung aktiviert ist. Implementierung ist für Anwendungen erforderlich, die direkte Bearbeitung unterstützen. Der MFC-Anwendungs-Assistent stellt eine grundlegende Implementierung bereit, die die Koordinaten des Elements zum CRect-Objekt zugewiesen wird, das als Argument an OnGetItemPosition übergeben wird.
Wenn die Position oder die Größe eines OLE-Elements während der direkten Bearbeitung ändert, müssen die Informationen des Containers über die Position des Elements und die Ausschneiderechtecke aktualisiert und der Server muss Informationen über die Änderungen abrufen. Das Framework ruft COleClientItem::OnChangeItemPosition zu diesem Zweck auf. Der MFC-Anwendungs-Assistent bietet eine Überschreibung bereit, die die Funktion der Basisklasse aufruft. Sie sollten die Funktion bearbeiten, die der Anwendungs-Assistent für das COleClientItem abgeleitete Klasse schreiben, damit die Funktion alle Informationen aktualisiert, die vom ClientElementobjekt beibehalten werden.
Siehe auch
Referenz
COleClientItem::OnChangeItemPosition