
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