容器: 容器的實作
這份文件摘要說明實作容器的程序,並指出其他提供詳細解釋有關實作容器的文件。 它也會列出一些您可能想要實作的選擇性 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)。
內嵌的物件或組合容器/伺服應用程式的連結。
如需詳細資訊,請參閱容器: 進階功能。