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


Образец MFCBIND: контейнер активных документов

Обновлен: Ноябрь 2007

В образце MFCBIND показано, как создать контейнер активных документов (ранее называвшийся DocObject) с помощью классов поддержки контейнеров активных документов в MFC. Образец MFC Binder является приложением с интерфейсом SDI, которое использует класс COleDocObjectItem для представления активного документа, внедренного в документ MFC. Образец MFCBIND работает во многом аналогично приложению Office Binder, входящему в состав Microsoft Office.

ms177542.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению.

Чтобы получить образцы и инструкции по их установке, выполните следующие действия.

  • В меню Справка среды Visual Studio выберите пункт Примеры.

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

  • Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.

  • Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.

Построение и запуск образца

Построение и запуск образца MFCBIND

  1. Откройте решение mfcbind.sln.

  2. В меню Построение выберите команду Построить.

  3. Запустите приложение и выберите пункт Add из меню Section, чтобы добавить в подшивку нужное число разделов.

    Примерами разделов служат изображения, документы Word и документы Excel. Раздел, добавляемый в подшивку, можно редактировать непосредственно в приложении MFC Binder так же, как если бы он был открыт в собственном приложении раздела.

  4. После завершения редактирования разделов в подшивке сохраните подшивку, выбрав команду 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

ms177542.alert_note(ru-ru,VS.90).gifПримечание.

Некоторые образцы, включая данный, не модифицировались с учетом изменений в мастерах, библиотеках и компиляторе Visual C++, однако по-прежнему демонстрируют выполнение требуемой задачи.

См. также

Другие ресурсы

Примеры MFC