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_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)

Index