功能表和資源:容器新增
本文說明需要在視覺化編輯容器應用程式中對功能表和其他資源進行變更。
在容器應用程式中,需要進行兩種類型的變更:修改現有資源以支援 OLE 視覺效果編輯和新增用於就地啟用的新資源。 如果您使用應用程式精靈來建立容器應用程式,這些步驟將會為您完成,但可能需要一些自訂。
如果您未使用應用程式精靈,您可能想要查看 OCLIENT。RC,OCLIENT 範例應用程式的資源腳本,以查看這些變更的實作方式。 請參閱 MFC OLE 範例 OCLIENT 。
本文涵蓋的主題包括:
容器功能表新增專案
您必須將下列專案新增至 [編輯] 功能表:
項目 | 目的 |
---|---|
插入新物件 | 開啟 [OLE 插入物件] 對話方塊,將連結或內嵌的專案插入檔中。 |
貼上連結 | 將剪貼簿上專案的連結貼到檔中。 |
OLE 動詞 | 呼叫選取專案的主要動詞命令。 此功能表項目的文字會變更,以反映所選項目的主要動詞。 |
連結 | 開啟 [OLE 編輯連結] 對話方塊以變更現有的連結專案。 |
除了本文所列的變更之外,您的來源檔案還必須包含 AFXOLECL。RC,這是 Microsoft Foundation Class Library 實作的必要專案。 [插入新物件] 是唯一必要的功能表新增專案。 您可以新增其他專案,但此處列出的專案是最常見的專案。
如果您想要支援就地啟用自主專案,則必須為容器應用程式建立新的功能表。 此功能表包含開啟檔案時所使用的相同 [檔案] 功能表和 [視窗] 快顯視窗,但兩者之間有兩個分隔符號。 這些分隔符號是用來指出伺服器(元件)專案(應用程式)在啟用時應放置其功能表的位置。 如需此功能表合併技術的詳細資訊,請參閱 功能表和資源:功能表合併 。
容器應用程式加速器資料表新增專案
如果您要支援就地啟用,則需要對容器應用程式的快速鍵資料表資源進行小型變更。 第一個變更可讓使用者按下逸出鍵 (ESC) 取消就地編輯模式。 將下列專案新增至主要快速鍵資料表:
識別碼 | 按鍵 | 類型 |
---|---|---|
ID_CANCEL_EDIT_CNTR | VK_ESCAPE | VIRTKEY |
第二個變更是建立新的快速鍵資料表,其對應至為就地啟用所建立的新功能表資源。 除了上述VK_ESCAPE專案之外,此資料表還有 [檔案] 和 [視窗] 功能表的專案。 下列範例是針對 MFC 範例 CONTAINER 中就地啟用而建立的快速鍵資料表:
識別碼 | 按鍵 | 類型 |
---|---|---|
ID_FILE_NEW | CTRL+N | VIRTKEY |
ID_FILE_OPEN | CTRL+O | VIRTKEY |
ID_FILE_SAVE | CTRL+S | VIRTKEY |
ID_FILE_PRINT | CTRL+P | VIRTKEY |
ID_NEXT_PANE | VK_F6 | VIRTKEY |
ID_PREV_PANE | SHIFT+VK_F6 | VIRTKEY |
ID_CANCEL_EDIT_CNTR | VK_ESCAPE | VIRTKEY |
容器應用程式的字串資料表新增專案
容器應用程式的字串資料表大部分變更都對應至容器功能表新增 中所述 的其他功能表項目。 它們會在顯示每個功能表項目時,提供狀態列中顯示的文字。 例如,以下是應用程式精靈所產生的字串資料表專案:
識別碼 | String |
---|---|
IDP_OLE_INIT_FAILED | OLE 初始化失敗。 請確定 OLE 程式庫是正確的版本。 |
IDP_FAILED_TO_CREATE | 無法建立物件。 請確定物件已在系統登錄中輸入。 |