คลา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_serverConnectTemplate (clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll()
สำหรับตัวอย่างCWinApp-ชั้นที่ได้รับคำจำกัดความและฟังก์ชันInitInstanceดู OCLIENTH และ OCLIENTCPP ตัวอย่าง MFC OCLIENT?
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้COleLinkingDocดูบทความ คอนเทนเนอร์: Implementing คอนเทนเนอร์ที่และ คอนเทนเนอร์: Advanced FeaturesในVisual c ++ Programmer ของคำแนะนำ?
#รวม lt;afxole.h>
สมาชิกของคลาส|nbsp คลาสพื้นฐาน| แผนภูมิของลำดับชั้น(&N)
ตัวอย่างnbsp MFC อย่าง OCLIENT(&N)
ดูเพิ่มเติมnbspCDocTemplate(&N)