共用方式為


容器:實作容器

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

若要準備您的 CWinApp 衍生類別

  1. 在成員函式中 InitInstance 呼叫 AfxOleInit ,以初始化 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 範例 DRAWCLI CONTAINER

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

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

  • 於編輯內嵌項目時就地啟用。

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

  • 透過從伺服器應用程式中拖放選取範圍,建立 OLE 項目。

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

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

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

另請參閱

容器
容器:用戶端項目