Поделиться через


Контейнеры: Реализация контейнера

Данный раздел содержит процедуры для реализации контейнер и указывает на другие статьи, которые предоставляют более подробные пояснения о реализации контейнеры.Также приведены некоторые дополнительные функции OLE может потребоваться реализовать и статьи, описывающие эти функции.

Подготовить этот CWinApp-выведенный класс

  1. Инициализация библиотеки OLE, вызвав AfxOleInit в функции-члене InitInstance.

  2. Вызовите CDocTemplate::SetContainerInfo в InitInstance для присвоения меню и сочетаний клавиш, используемые ресурсы, когда внедренный элемент активированное на месте.Дополнительные сведения об этом разделе см. в разделе активация.

Эти функции предоставляются автоматически при использовании мастера приложений MFC для создания приложение-контейнер.См. раздел Создание программы MFC EXE.

Подготовить класс представления

  1. Используйте полосу выделенных элементов, поддержание указателя или список указателей, если требуется поддержка выбор нескольких элементов, к выбранным элементам.Функция OnDraw должна показать все элементы OLE.

  2. Переопределите IsSelected чтобы проверить, выбран ли элемент, переданного ей в настоящее время.

  3. Реализуйте обработчик сообщений OnInsertObject для отображения диалогового окна Вставить объект .

  4. Реализуйте обработчик сообщений OnSetFocus, чтобы передать фокус из представления элемента на месте активный внедренный OLE.

  5. Реализуйте обработчик сообщений OnSize для оповещения элемент внедренный OLE, что необходимо изменить его прямоугольник, чтобы отразить изменение размера содержащего его представления.

Поскольку реализация этих функций значительно различается от одного приложения к следующему мастер приложений предоставляет только базовую реализацию.Возможно, настраивать эти функции для получения приложению работать правильно.Пример этого см. в образце КОНТЕЙНЕР.

К элементам маркера внедренным и связанным

  1. Создайте класс, наследуемый от COleClientItem.Объекты этого класса, представляют элементы, которые были внедрены в или были привязаны к вашему ЯВЛЯЕТСЯ документ.

  2. Переопределение OnChange, OnChangeItemPosition и OnGetItemPosition.Эти функции обрабатывают значения, позиционирование и изменение внедренные и связанные элементы.

Мастер приложений был производным класса, но скорее всего, будет необходимо переопределить OnChange и другие функции, перечисленные с ним на шаге 2, в предыдущей процедуре.Каркасным реализации должны быть настраиванным для большинства приложений, поскольку эти функции, предоставляемого иначе, чем одно приложение к другому.Примеры см. в разделе образцы DRAWCLI и КОНТЕЙНЕР MFC.

Необходимо добавить несколько элементов в структуре меню контейнерного приложения OLE поддержки.Дополнительные сведения об этих см. в разделе Меню и ресурсы. Добавление контейнера.

Может также потребоваться поддерживать некоторые из следующих функций в приложение-контейнере:

  • Встроенная активация внедренный элемент редактирования.

    Дополнительные сведения см. в разделе активация.

  • Создание ЯВЛЯЕТСЯ элементов, перетащив выделение из серверного приложения.

    Дополнительные сведения см. в разделе Перетаскивание (OLE).

  • Соединение с внедренным объектам или контейнер сочетания/сервер приложений.

    Дополнительные сведения см. в разделе контейнеры: Дополнительные параметры.

См. также

Основные понятия

Контейнеры

Контейнеры: Клиентские элементы