Контейнеры: уведомления Клиент-Элемента
В этой статье описывается переопределяемые функции, вызывающие границы MFC, если серверные приложения изменяют элементы в документе конкретного клиентского приложения.
COleClientItem определяет несколько функций, доступная для переопределения которые вызываются в ответ на запросы от компонентов приложения, которое также называется серверным приложением.Эти overridables обычно являются уведомления.Они " приложение-контейнер различных событий, таких как прокрутка, активация или изменение позиции и изменений этих пользователя или редактирования в противном случае манипулирующ элемент.
Границы уведомляющие свой приложение-контейнер изменений через вызов COleClientItem::OnChange переопределяемые функции, реализация которой не требуется.Эта функция возвращает 2, защищенные аргумента.Первое указывает причину сервер был изменен элемент:
Уведомление |
Значение |
---|---|
OLE_CHANGED |
Внешний вид элемента OLE был изменен. |
OLE_SAVED |
Элемент OLE был сохранен. |
OLE_CLOSED |
Элемент OLE был закрыт. |
OLE_RENAMED |
Переименование документа сервера, содержащего элемент OLE. |
OLE_CHANGED_STATE |
Элемент OLE был изменен, из одного состояния в другое. |
OLE_CHANGED_ASPECT |
Аспект ЯВЛЯЕТСЯ рисование элемента был изменен границами. |
Эти значения из перечисления OLE_NOTIFICATION, которое определено в AFXOLE.H.
Второй аргумент в этой функции определяет, как элемент изменен или его в какое состояние:
Если первый аргумент |
Второй аргумент |
---|---|
OLE_SAVED или OLE_CLOSED |
Не используется. |
OLE_CHANGED |
Указывает аспект ЯВЛЯЕТСЯ элемента, который был изменен. |
OLE_CHANGED_STATE |
Описывает вставляемой состояние (emptyState, loadedState, openState, activeState или activeUIState). |
Дополнительные сведения о состояниях элемент клиента может занять см. в разделе контейнеры: состояния Клиент-Элемента.
Платформа вызывает функцию COleClientItem::OnGetItemPosition, когда элемент активировать для редактирования на месте.Реализация необходима для приложений, которые поддерживают редактирование на месте.Мастер приложений MFC предоставляет базовую реализацию, которая будет присвоено CRect координаты элементов в объект, передаваемый в качестве аргумента OnGetItemPosition.
Если положения или размера элемента изменяется на месте ЯВЛЯЕТСЯ во время редактирования, данные о положении обрезки контейнера элемента и прямоугольники, должны быть обновлены и сервер должен получить сведения об изменениях.Платформа вызывает функцию COleClientItem::OnChangeItemPosition для этой цели.Мастер приложений MFC предоставляет переопределение, которое вызывает функцию базового типа.Необходимо изменить функцию, которая записывает мастер приложений для COleClientItem- производного класса, так что функция обновляет любые сведения сохранянное объектом клиент-элемента.
См. также
Ссылки
COleClientItem::OnChangeItemPosition