COleLinkingDoc

Класс COleLinkingDoc является базовым классом для документов контейнера OLE, которые поддерживают ссылки на встроенные элементы, которые они содержат. Приложение контейнера, который поддерживает связь с встроенных элементов называют «ссылка контейнер». OCLIENT образец приложения представляет собой пример контейнера ссылку.

Когда связанный элемент источник внедренный элемент в другом документе, этот документ, включающий должен быть загружен для того чтобы внедренный элемент для редактирования. По этой причине ссылка должна иметь возможность запущена другим приложением контейнера, когда пользователь хочет изменить источник связанного элемента. Приложение также должно использовать класс COleTemplateServer , таким образом, чтобы он может создавать документы при запуске программно.

Для того чтобы ваш контейнер контейнер ссылку, получить класс документа от COleLinkingDoc вместо того, чтобы COleDocument. Как с любой другой контейнер OLE, должны разработать класс для хранения данных приложения, а также внедренные или связанные элементы. Кроме того следует разрабатывать структуры данных для хранения ваших собственных данных. Если вы определите CDocItem-производного класса для приложения собственных данных, используйте интерфейс, определенный COleDocument для хранения ваших собственных данных, а также данных OLE.

Чтобы разрешить приложению будет запущен программно другим контейнером, объявите объект COleTemplateServer членом вашего приложения CWinApp-производного класса:

класс COleClientApp: государственные CWinApp
{
// ...
Охраняемые:
   COleTemplateServer m_server;
// ...
}

В функции-члена InitInstance CWinApp-производного класса, создайте шаблон документа и укажите ваши COleLinkingDoc-производного класса как класса документа:

/ / CMainDoc является производным от COleLinkingDoc
CMultiDocTemplate * pDocTemplate = новый CMultiDocTemplate (IDR_OCLIENTTYPE,
 nbsp; RUNTIME_CLASS(CMainDoc),
   RUNTIME_CLASS(CSplitFrame),
   RUNTIME_CLASS(CMainView));
pDocTemplate - > SetContainerInfo ()
   IDR_OCLIENTTYPE_CNTR_IP);
AddDocTemplate(pDocTemplate)

Подключите ваш объект COleTemplateServer к шаблоны документов путем вызова функции-члена объекта ConnectTemplate и зарегистрировать все объекты класса OLE системе путем вызова COleTemplateServer::RegisterAll

m_server.ConnectTemplate (clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll()

Для выборки CWinApp-определения производного класса и функции InitInstance смотрите OCLIENT.H и OCLIENT.НПК в примере MFC OCLIENT.

Для получения дополнительных сведений об использовании COleLinkingDoc, обратитесь к статьям контейнеры: реализация контейнера и контейнеры: дополнительные функции в Руководстве по Visual C++ программист.

# include lt;afxole.h>

Члены класса |nbsp; Базовый класс | Иерархическая схема

Примерnbsp; Образца OCLIENT MFC

См. также CDocTemplate

Index