Паппас К., Мюррей У. - Visual C++ 6. Руководство разработчика - 2000
.pdfРис. 21.4. Рисунок, внедряемый в текстовый документ, создаетсяы с помощью программы Paint
Окончив работу над рисунком, щелкните мышью на текстовом документе за пределами области рисования, чтобы' возвратиться в Wordи закрыть редактор Paint. На рис. 21.5 показан документ Word, содержащий внедренный объект.
392
Рис. 21.5. Текстовый документ Word с внедренным рисунком
А теперь самое интересное. Предположим, вы решили, что внедренный объект требует изменений. Выполните на нем двойной щелчок. При этом запустится исходное приложение, в которое будет загружен объект для редактирования (рис. 21.6).
393
Рис. 21.6. При необходимости отредактировать внедренный объект выполните на нем двойной щелчок
394
Рис. 21.7. Отредактированный объект
Связывание
Технология OLE поддерживает также динамическое связывание объектов, созданных в разных приложениях. При наличии связи приложения могут одновременно использовать одни и те же объекты. Раньше связывание было довольно неустойчивым механизмом, поскольку связи легко разрывались при перемещении файлов на диске. В настоящий момент в OLEиспользуются псевдонимы (monikers), позволяющие успешно решать многие из существовавших прежде проблем. Псевдонимом называется специальный СОМ-объект, в котором хранится имя связанного объекта и информация о его местоположении. Именно псевдонимы выполняют задачу поиска объектов, освобождая от этого приложение-контейнер.
Создание OLE-контейнера
Приложение-контейнер Cnt, созданием которого мы сейчас займемся, напоминает программу Graphс SDI-интерфейсом, созданную нами в предыдущей главе. В данном приложении будут использованы два важных OLE-класса: COleClientItem и COleDocument. Класс COleDocument
управляет списком объектов класса COleClientItem. Класс СOleClientItem, в свою очередь, управляет внедренными или связанными объектами и поддерживает взаимодействие между контейнером и сервером.
Обратите внимание на тот факт, что код приложения полностью создан мастером AppWizard. Полученный шаблон впоследствии можно расширить дополнительными средствами, написав соответствующие фрагменты самостоятельно или воспользовавшись мастером ClassWizard.
Работа с мастером приложений
395
- #13.08.201334.52 Mб91Липман С., Лажойе Ж., Му Б. - Язык программирования C++. Вводный курс - 2007.djvu
- #13.08.201347.18 Mб128Литвиненко Н.А. - Технология программирования на C++. Win32 API-приложения - 2010.djvu
- #
- #
- #13.08.201317.53 Mб104Оберг Р., Торстейсон П. - Архитектура .NET и программирование на Visual C++ - 2002.pdf
- #
- #
- #
- #
- #
- #