Класс COleLinkingDoc
Базовый класс для документов OLE-контейнер, которые поддерживают связывание на внедренный элементам они содержатся.
class COleLinkingDoc : public COleDocument
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект COleLinkingDoc. |
Открытые методы
Имя |
Описание |
---|---|
Регистрирует документ с OLE системные библиотеки DLL. |
|
Отменяет регистрацию документа. |
Защищенные методы
Имя |
Описание |
---|---|
Находит указанный встроенный элемент. |
|
Находит заданный связанный элемент. |
Заметки
Приложение-контейнер, который поддерживает связывание на внедренный элементам вызвать контейнером "соединения". Пример приложения OCLIENT примере контейнера ссылки.
Если источник связанного элемента, внедренный элемент в другом документе, в котором содержится документ должна быть загружена, внедренный элемент, который нужно изменить. По этой причине контейнер связи должен запускаться другим приложение-контейнером, когда пользователь хочет изменить источник связанного элемента. Приложение должно также использовать класс COleTemplateServer для правильного создания документов started программно.
Чтобы сделать своим контейнером контейнер связи, наследуйте класс от COleLinkingDoc документа вместо COleDocument. Как и с любым другим OLE-контейнер, необходимо сконструировать класс для хранения данных так же, как и встроенные или связанные элементы приложения собственных. Кроме того, структуры, проектных данных для хранения собственные данные. При указании CDocItem- производный класс для данных приложения собственных можно использовать интерфейс указанный COleDocument чтобы хранить собственные данные, а также существующие данные в формате ole.
Чтобы разрешить приложение запускаться программно другим контейнером, объявите объект COleTemplateServer в качестве члена CWinApp приложения - производный класс.
class COleContainerApp : public CWinApp
{
protected:
COleTemplateServer m_server;
// remainder of class declaration ommitted
В функции-члене вашего CWinApp- производном классе InitInstance, создайте шаблон документа и определите COleLinkingDoc- производный класс как класс документа.
// CMyLinkDoc is derived from COleLinkingDoc
CMultiDocTemplate* pDocTemplate = new CMultiDocTemplate(IDR_LINKDOCTYPE,
RUNTIME_CLASS(CMyLinkDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CMyLinkView));
if (!pDocTemplate)
return FALSE;
pDocTemplate->SetContainerInfo(IDR_OLECONTTYPE_CNTR_IP);
AddDocTemplate(pDocTemplate);
Подключите объект COleTemplateServer к шаблонам документов, вызвав функцию-член ConnectTemplate объекта и зарегистрируйте все объекты класса с OLE системой путем вызова COleTemplateServer::RegisterAll:
m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();
Образец CWinApp- определение производного класса, а функция InitInstance см. в разделе OCLIENT.H и OCLIENT.CPP в образце OCLIENT MFC.
Дополнительные сведения об использовании COleLinkingDoc см. в разделе статьи контейнеры: Реализация контейнера и контейнеры: Расширенные функции.
Иерархия наследования
COleLinkingDoc
Требования
Header: afxole.h