共用方式為


容器:如何實作容器

本文摘要說明實作容器的程式,並將您指向其他提供實作容器更詳細說明的文章。 它也會列出您可能想要實作的一些選擇性 OLE 功能,以及描述這些功能的文章。

準備您的 CWinApp 衍生類別

  1. 在成員函式AfxOleInit中呼叫InitInstance,以初始化 OLE 函式庫。

  2. CDocTemplate::SetContainerInfo 呼叫 InitInstance,將指派嵌入項目就地啟動時所使用的選單和加速器資源。 如需本主題的詳細資訊,請參閱 啟用

當您使用 MFC 應用程式精靈建立容器應用程式時,會自動為您提供這些功能。 請參閱 建立 MFC EXE 程式

準備你的視圖類別

  1. 藉由為選取的專案維護一個指標,或若支援多選時則維護一個指標清單,以追蹤選取的專案。 您的 OnDraw 函式必須繪製所有 OLE 項目。

  2. 覆寫 IsSelected 以檢查傳遞給它的項目是否已被選取。

  3. 實作 OnInsertObject 訊息處理程式以顯示 [ 插入物件 ] 對話框。

  4. 實作 OnSetFocus 訊息處理程式,將焦點從檢視切換到正在運行中的 OLE 嵌入項目。

  5. 實作 OnSize 訊息處理程式,通知 OLE 內嵌專案需要變更其矩形,以反映其包含檢視的大小變更。

由於這些功能的實作會因一個應用程式而異,因此應用程式精靈只會提供基本實作。 您可能必須自定義這些函式,讓您的應用程式正常運作。 如需此範例,請參閱 CONTAINER 範例。

處理內嵌和連結的項目

  1. COleClientItem 衍生類別。 這個類別的物件代表已內嵌或連結至您的 OLE 文件的項目。

  2. 覆寫 OnChangeOnChangeItemPositionOnGetItemPosition。 這些功能會處理調整大小、定位以及修改內嵌和連結項目。

應用程式精靈會為您衍生 類別,但您可能需要覆寫 OnChange 和上述程式中步驟 2 中所列的其他函式。 大部分應用程式都需要自定義基本架構實作,因為這些函式會以不同的方式實作,從一個應用程式到另一個應用程式。 如需此範例,請參閱 MFC 範例 DRAWCLICONTAINER

您必須將一些項目新增至容器應用程式的功能表結構,以支援OLE。 如需這些的詳細資訊,請參閱 功能表和資源:容器新增

您可能也想要在容器應用程式中支援下列一些功能:

  • 在編輯嵌入項目時就地啟用。

    如需詳細資訊,請參閱 啟用

  • 從伺服器應用程式拖放選取項目,以建立 OLE 項目。

    如需詳細資訊,請參閱 OLE 拖放

  • 指向內嵌物件或組合式容器/伺服器應用程式的連結。

    如需詳細資訊,請參閱 容器:進階功能

另請參閱

容器
容器:客戶端項目