Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В предыдущих разделах описана некоторая необходимая поддержка вызывающего элемента управления ActiveX для доступа к определенным функциям контейнера. В следующей таблице описывается использование интерфейсов на стороне контейнера элемента управления и когда это использование может происходить.
| Интерфейс | Объект контейнера | Употребление |
|---|---|---|
|
IOleClientSite |
Место |
Элементы управления, реализующие IOleObject и методы IOleClientSite в рамках стандартного протокола внедрения OLE, в частности, методы SaveObject, ShowObject, OnShowWindow (только если поддерживается состояние активации отдельного окна), RequestNewObjectLayoutи GetContainer (если требуется взаимодействие с другими элементами управления). Метод GetMoniker используется только в том случае, если элемент управления может быть связан с внешним, то есть элемент управления не помечен OLEMISC_CANTLINKINSIDE. |
|
IOleInPlaceSite |
Место |
Элементы управления с активацией на месте и, возможно, активное состояние пользовательского интерфейса вызывают методы IOleInPlaceSite (как правило, все из них, за исключением ContextSensitiveHelp) в рамках стандартного протокола активации OLE на месте. |
|
IAdviseSink |
Место |
Элемент управления вызывает OnDataChange, если он поддерживает IDataObject, вызывает OnViewChange, если поддерживается IViewObject2, и вызывает OnClose, OnSaveи OnRename, если поддерживается IOleObject. |
|
IOleControlSite |
Место |
Если поддерживается, элемент управления вызывает OnControlInfoChanged при изменении мнемоник, LockInPlaceActive и TransformCoords, если события запускаются (последний метод используется только в том случае, если координаты передаются в качестве аргументов событий), OnFocus и TranslateAccelerator, если элемент управления находится в активном состоянии пользовательского интерфейса, и GetExtendedControl, если элемент управления хочет просмотреть свойства расширенного управления (принадлежащие контейнеру). |
|
IDispatch (окружающие свойства) |
Место |
Используется для доступа к свойствам окружающей среды. |
|
IPropertyNotifySink |
Меняется |
Элемент управления должен создать OnChanged и OnRequestEdit для всех свойств элемента управления, помеченных как [привязываемые] и [запроса], соответственно. |
| Другие интерфейсы приемника событий |
Меняется |
Элемент управления, имеющий исходящие интерфейсы, отличные от IPropertyNotifySink, будет получать другие указатели интерфейса с правильным IID для реализации IConnectionPoint::Advise (которые обычно находятся в подчиненных объектах элемента управления). Элемент управления всегда знает, как вызывать собственные интерфейсы событий, так как элемент управления определяет эти интерфейсы. |
|
IOleInPlaceFrame |
Рамка |
Используется, когда элемент управления имеет активный встроенный пользовательский интерфейс, требующий инструментов на уровне фрейма или элементов меню. |
|
IOleInPlaceUIWindow |
Документ |
Используется только в том случае, если элемент управления имеет активное состояние пользовательского интерфейса на месте, требующее инструментов пользовательского интерфейса на уровне документа или области. Это редко. |