Образец MFCBIND: контейнер активных документов
Обновлен: Ноябрь 2007
В образце MFCBIND показано, как создать контейнер активных документов (ранее называвшийся DocObject) с помощью классов поддержки контейнеров активных документов в MFC. Образец MFC Binder является приложением с интерфейсом SDI, которое использует класс COleDocObjectItem для представления активного документа, внедренного в документ MFC. Образец MFCBIND работает во многом аналогично приложению Office Binder, входящему в состав Microsoft Office.
Примечание о безопасности. |
---|
Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению. |
Чтобы получить образцы и инструкции по их установке, выполните следующие действия.
В меню Справка среды Visual Studio выберите пункт Примеры.
Дополнительные сведения см. в разделе Поиск файлов примеров.
Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.
Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.
Построение и запуск образца
Построение и запуск образца MFCBIND
Откройте решение mfcbind.sln.
В меню Построение выберите команду Построить.
Запустите приложение и выберите пункт Add из меню Section, чтобы добавить в подшивку нужное число разделов.
Примерами разделов служат изображения, документы Word и документы Excel. Раздел, добавляемый в подшивку, можно редактировать непосредственно в приложении MFC Binder так же, как если бы он был открыт в собственном приложении раздела.
После завершения редактирования разделов в подшивке сохраните подшивку, выбрав команду Save в меню File. Команда Save сохраняет разделы в подшивке в один файл. При повторном открытии подшивки разделы будут доступны в состоянии на момент предыдущего сохранения.
Активные документы в MFC
Активные документы в MFC обрабатываются во многом аналогично стандартным внедряемым объектам, которые редактируются по месту использования. Класс, производный от COleDocument, по-прежнему ведет список внедренных элементов на данный момент. Объект COleClientItem, который замещен классом COleDocObjectItem, производным от COleClientItem, представляет внедренный элемент в COleDocument. Такие элементы, производные от COleDocObjectItem, заносятся в список классом, производным от COleDocument. Однако активные документы занимают всю клиентскую область представления, когда они активны по месту использования. Контейнер активных документов также имеет полный доступ к меню "Справка", в отличие от предыдущих версий внедряемых объектов по месту использования. Меню "Справка" содержит пункты для контейнера активных документов и для сервера. Поскольку контейнер активных документов владеет меню "Справка", он выполняет перенаправление сообщений для серверной части меню "Справка" на сервер. Функции слияния и перенаправления сообщений меню "Справка" целиком обрабатываются платформой MFC.
Ключевые слова
В этом образце показаны следующие ключевые слова:
COleClientItem::FinishCreate, COleClientItem::GetIconFromRegistry, IOleObject::GetUserClassID, COleClientItem::OnChange, COleClientItem::OnChangeItemPosition, COleClientItem::OnGetItemPosition, COleClientItem::OnActivate, COleDocument::GetInPlaceActiveItem, COleClientItem::Deactivate, COleClientItem::CreateNewItem, COleClientItem::DoVerb, COleDocObjectItem::COleDocObjectItem, COleClientItem::CreateFromFile, COleClientItem::Activate, COleDocObjectItem::OnPreparePrintin, COleDocObjectItem::OnPrint, SystemParametersInfo, MeasureItem, DrawItem, GetSystemMetrics, SelectObject
Примечание. |
---|
Некоторые образцы, включая данный, не модифицировались с учетом изменений в мастерах, библиотеках и компиляторе Visual C++, однако по-прежнему демонстрируют выполнение требуемой задачи. |