Контейнеры. Реализация контейнера
Этот раздел содержит процедуры для реализации контейнер и точки с другим статьи, которые предоставляют более подробные объяснений о реализации контейнеры. В ней также перечислены некоторые дополнительные функции OLE может потребоваться реализация и статьи, эти функции.
Подготовка к CWinApp- производный класс
Инициализация библиотеки OLE, вызвав AfxOleInit в функции-члене InitInstance.
Вызовите CDocTemplate::SetContainerInfo в InitInstance для присвоения ресурсов меню и сочетаний клавиш использовался при вложенный элемент активирован на месте. Дополнительные сведения об этом см. в разделе Активация.
Эти функции предоставляются автоматически при использовании мастера приложений MFC для создания приложения контейнера. В разделе Создание программы MFC EXE.
Чтобы подготовить класс представления
Отслеживать выбранных элементов, обслуживая указателя, или список указателей, если при этом возможность нескольких элементов, к выбранным элементам. Чтобы функциональность OnDraw должна создать все элемент OLE.
Переопределите IsSelected для проверки, выбран ли элемент, переданный ей в настоящее время.
Реализуйте обработчик сообщений OnInsertObject, чтобы открыть диалоговое окно Вставить объект .
Реализуйте обработчик сообщений OnSetFocus для передачи фокус из представления на месте активным элементом, встроенному OLE.
Реализуйте обработчик сообщений OnSize сообщает внедренный элемент OLE, ему необходимо изменить его прямоугольник, чтобы отразить изменения в размере его, содержащая представления.
Поскольку реализация этих функций сильно зависят от одного приложения к другому, мастер приложений предоставляет только базовую реализацию. Возможно, настраивать эти функции, чтобы получить доступ к приложению на функцию правильно. Это Пример см. в образце КОНТЕЙНЕР.
Обработка внедренными и связанные элементы
Следует наследовать класс от класса COleClientItem. Объекты этого класса представляют элементы, которые внедрены в или были связаны в OLE документ.
Переопределите OnChange, OnChangeItemPosition и OnGetItemPosition. Эти функции обрабатывают размер и размещение, а внедренный изменения и связанные элементы.
Мастер приложений выдает класс автоматически, но скорее всего, необходимо переопределить OnChange и другие функции с ним, перечисленные на шаге 2 предыдущей процедуры. Каркасным реализации должны быть настроенным для большинства приложений, поскольку эти функции, иначе, чем одно приложение к другому. Примеры этого см. в образцах DRAWCLI и КОНТЕЙНЕР библиотеки MFC.
Необходимо добавить несколько элементов на структуру меню приложения для поддержки OLE. Дополнительные сведения см. в разделе Меню и ресурсы: Добавление контейнера.
Кроме того, можно поддерживать некоторые из следующих функций в контейнерном приложении.
Встроенная функция активация редактирования вложенный элемент.
Дополнительные сведения см. в разделе Активация.
Создание элемент OLE, перетаскивая и удалить подсветку серверного приложения.
Дополнительные сведения см. в разделе Перетаскивание OLE ().
Ссылки на объекты внедренным или контейнер сочетания/серверным приложениям.
Дополнительные сведения см. в разделе Контейнеры: Дополнительные параметры.