容器: 容器的實作
這份文件摘要說明實作容器的程序,並指出其他提供詳細解釋有關實作容器的文件。它也會列出一些您可能想要實作的選擇性 OLE 功能,並描述這些功能的文件。
若要準備您的 CWinApp 衍生類別
藉由呼叫初始化 OLE 程式庫 AfxOleInit 在InitInstance成員函式。
呼叫CDocTemplate::SetContainerInfo在InitInstance來指派功能表和對應鍵資源內嵌項目時,使用就地啟動。如需有關這個主題的詳細資訊,請參閱啟用。
這些功能會自動為您提供當您使用 MFC 應用程式精靈建立容器應用程式。請參閱建立 MFC EXE 程式。
若要準備檢視類別
追蹤的選取項目的藉由維護指標,或清單的指標,如果要支援多重選取,以選取的項目。您OnDraw函式必須繪製所有的 OLE 項目。
覆寫IsSelected來檢查目前是否已選取的項目傳遞給它。
實作 OnInsertObject 訊息處理常式,以顯示插入物件對話方塊。
實作OnSetFocus訊息處理常式,以便將從檢視內,將焦點轉移到就地使用中 OLE 內嵌項目。
實作OnSize訊息處理常式來通知 OLE 項目內嵌它需要變更其方框來反映包含檢視的大小的變更。
因為這些功能的實作而異到下一個應用程式大幅,應用程式精靈會提供基礎實作。您可能需要自訂這些功能使您的應用程式,才能正確執行。如需這個範例,請參閱容器範例。
若要處理內嵌和連結項目
衍生類別中的,從 COleClientItem。這個類別的物件代表內嵌或連結到 OLE 文件的項目。
Override OnChange, OnChangeItemPosition, and OnGetItemPosition.這些函式會處理調整大小、 位置和修改內嵌和連結項目。
應用程式精靈會為您衍生類別,但您可能需要覆寫 OnChange 而其他的函式與它列在之前程序中的步驟 2 中。基本架構實作需要自訂對於大部分的應用程式,因為這些函式的實作方式從一個應用程式到下一步]。如需這個範例,請參閱 MFC 範例 DRAWCLI 和容器。
您必須加入一些項目,以支援 OLE 容器應用程式的功能表結構。如需這些詳細資訊,請參閱功能表和資源: 容器加入。
您也可以在容器應用程式中支援的下列功能:
編輯內嵌項目時,就會就地啟動。
如需詳細資訊,請參閱啟用。
建立 OLE 項利用拖放選取項目從 「 伺服器應用程式。
如需詳細資訊,請參閱拖放 」 (OLE)。
內嵌的物件或組合容器/伺服應用程式的連結。
如需詳細資訊,請參閱容器: 進階功能。