COleLinkingDoc

COleLinkingDoc клас-це базовий клас за документами-контейнерами OLE, підтримує зв'язування вбудовані елементи, які вони містять. Програми-контейнера, який підтримує посилання на вбудовані елементи називається "посилання контейнер". На OCLIENT зразок заяви є прикладом посилання контейнера.

Коли зв'язаний елемент Джерело є вбудований елемент в іншому документі, що містить документ повинен бути завантажені для того, щоб впроваджений об'єкт для редагування. З цієї причини контейнер посилання повинні мати можливість бути запущений інший застосунок контейнер, коли користувач хоче, щоб змінити джерело зв'язаний елемент. Ваша заявка також повинні використовувати клас COleTemplateServer , так що його можна створювати документи, при запуску програмного.

Зробити ваш контейнер, контейнер посилання, отримати свій клас документа з COleLinkingDoc замість того, щоб COleDocument. Як і з будь-який інший контейнер OLE, необхідно створити ваш клас для збереження рідної дані програми, а також вбудований або зв'язаний елементів. Крім того, необхідно створити структури даних для збереження рідної даних. Якщо ви визначаєте CDocItem-отриманих клас для вашого застосування рідної даних, для збереження рідної дані, а також даних OLE можна використовувати інтерфейс визначається COleDocument.

Щоб дозволити ваша заявка буде запущений програмно інший контейнер, оголосити 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.CPP у MFC зразок OCLIENT.

Щоб отримати додаткові відомості про використання COleLinkingDoc, перегляньте статті контейнери: впровадження контейнер і контейнери: розширені функції в Visual C++ програміста керівництво.

# включити lt;afxole.h>

|&Nbsp членів класу ; Базовий клас | Ієрархічна діаграма

Зразокnbsp; MFC зразок OCLIENT

Дивіться також CDocTemplate

Index