Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Самый простой и самый рекомендуемый способ создания активного приложения контейнера документов — создать приложение контейнера MFC EXE с помощью мастера приложений MFC, а затем изменить приложение для поддержки активного хранения документов.
Создание активного приложения контейнера документов
В меню "Файл" щелкните "Проект" в подменю "Создать ".
В левой области выберите тип проекта Visual C++ .
Выберите приложение MFC в правой области.
Назовите проект MyProj, нажмите кнопку "ОК".
Выберите страницу поддержки составных документов .
Выберите параметр "Контейнер " или " Контейнер" или "Полный сервер ".
Установите флажок "Активный контейнер документов ".
Нажмите кнопку Готово.
Когда мастер приложений MFC завершит создание приложения, откройте следующие файлы с помощью обозревателя решений:
- MyProjview.cpp
В MyProjview.cpp внесите следующие изменения:
В
CMyProjView::OnPreparePrintingполе "Замените содержимое функции" следующим кодом:if (!CView::OnPreparePrinting(pInfo)) return FALSE; if (!COleDocObjectItem::OnPreparePrinting(this, pInfo)) return FALSE; return TRUE;
OnPreparePrintingобеспечивает поддержку печати. Этот код заменяетDoPreparePrinting, который используется по умолчанию для подготовки к печати.Активная схема хранения документов обеспечивает улучшенную схему печати:
Сначала можно вызвать активный документ через его
IPrintинтерфейс и сообщить ему, чтобы распечатать его. Это отличается от предыдущего объекта OLE, в котором контейнеру пришлось отобразить изображение содержащегося элемента на объекте принтераCDC.Если это не удается, сообщите вложенному элементу, чтобы он распечатался сам через свой
IOleCommandTargetинтерфейс.Если это не удается, сделайте собственную отрисовку элемента.
Статические функции-члены
COleDocObjectItem::OnPrintиCOleDocObjectItem::OnPreparePrinting, как реализовано в предыдущем коде, обрабатывают эту улучшенную схему печати.Добавьте любую реализацию по своему усмотрению и создайте приложение.