TN023:標準 MFC 資源
這個附註說明 MFC 程式庫提供和需要的標準資源。
標準資源
MFC 提供兩種預先定義的資源類別,可讓您在應用程式中使用:美工圖案資源和標準架構資源。
美工圖案資源是與架構無關的額外資源,但您有可能會想要將它加入至您應用程式的使用者介面中。 下列美工圖案資源包含在 MFC 一般範例 CLIPART 中:
Common.rc:資源的單一檔案,其中包含:
表示各種商務和資料處理工作圖示的大型集合。
許多常見的游標 (請參閱 Afxres.rc)。
包含數個工具列按鈕的工具列點陣圖。
Commdlg.dll 使用的點陣圖和圖示資源。
Indicate.rc:包含狀態列索引鍵狀態指示器的字串資源,例如 Caps Lock 的「CAP」。
Prompts.rc:包含每個預先定義命令的功能表提示字元字串資源,例如ID_FILE_NEW的「建立新檔」。
Commdlg.rc:包含標準 COMMDLG 對話方塊範本的 Visual C++ 相容 .rc 檔案。
標準架構資源為架構依存於內部實作,具有 AFX 定義之 ID 的資源。 您很少需要變更這些 AFX 定義的資源。 如果要進行變更,您應該遵循本主題稍後概述的程序進行。
下列架構資源位於 MFC\INCLUDE 目錄中:
Afxres.rc:架構使用的通用資源。
Afxprint.rc:與列印相關的資源。
Afxolecl.rc:與 OLE 用戶端應用程式相關的資源。
Afxolev.rc:與完整 OLE 伺服器應用程式相關的資源。
使用美工圖案資源
使用美工圖案二進位資源
在 Visual C++ 中開啟應用程式的資源檔。
開啟 Common.rc。 這個檔案包含所有二進位美工圖案資源。 因為 Common.rc 檔案需要進行編譯,因此可能需要一些時間。
當您要從 Common.rc 拖曳想要使用的資源到您應用程式的資源檔時,請按住 CTRL 鍵。
若要使用其他美工圖案資源,請遵循相同的步驟進行。 唯一的差異在於您會開啟適當的 .rc 檔而不是 Common.rc。
注意
請小心不要在無意中將資源移動至 Common.rc 的外面。 如果您在按住 CTRL 鍵的同時拖曳資源,則會建立複本。 如果您在拖曳時沒有按住 CTRL 鍵,則會移動資源。 如果擔心您會不小心變更 Common.rc 檔案,請在詢問您是否儲存 Common.rc 的變更時按一下 [否]。
注意
.rc 資源檔中有特殊的 TEXTINCLUDE 資源,可防止您意外儲存在標準 .rc 檔案之上。
自訂標準架構資源
在應用程式的資源檔中使用 #include 命令,通常可將標準架構資源包含到應用程式中。 AppWizard 將會產生一個資源檔。 這個檔案包含適當的標準架構資源,視您選取的 AppWizard 選項而定。 藉由變更編譯時期指示詞,您可以檢閱、加入或移除已包含的資源。 若要這樣做,請開啟 [ 資源] 功能表,然後選取 [ 設定包含 ]。 請參閱「編譯時期指示詞」編輯項目。 例如:
#include "afxres.rc"
#include "afxprint.rc"
最常見的自訂標準架構資源案例為加入或移除額外的列印、OLE 用戶端和 OLE 伺服器支援。
在某些較罕見的情況下,您可能會想要為您的特定應用程式自訂標準架構資源的內容,而不只是加入和刪除整個檔案。 下列步驟顯示如何限制包含的資源:
自訂標準資源檔的內容
在 Visual C++ 中開啟資源檔。
使用 [Resource Set Includes] 命令,移除您要自訂之標準 .rc 檔的
#include
。 例如,若要自訂列印預覽工具列,請移除#include "afxprint.rc"
這一行。開啟 MFC\INCLUDE 中適當的標準資源檔。 根據本主題稍早的範例,其適當的檔案為 MFC\Include\Aafxprint.rc
從標準 .rc 檔複製所有資源至您的應用程式資源檔案。
在您的應用程式資源檔中修改標準資源的複本。
注意
請勿直接在標準 .rc 檔中修改資源。 這麼做會修改每個應用程式中可用的資源,而不只是目前應用程式中可用的資源。