如何:在編譯時期包含資源 (C++)
根據預設,所有資源都位於一個資源腳本 (.rc) 檔案中,不過有許多理由將資源放在主要 .rc 檔案以外的檔案中:
若要將批註新增至儲存 .rc 檔案時不會刪除的資源語句。
若要包含已經開發和測試的資源,且不需要進一步修改。 任何包含但沒有 .rc 副檔名的檔案,都無法由資源編輯器編輯。
包含不同專案所使用的資源,或屬於原始程式碼版本控制系統的一部分。 這些資源必須存在於修改會影響所有專案的中央位置。
包含屬於自訂格式的資源(例如 RCDATA 資源)。 RCDATA 資源有特殊需求,您無法使用運算式做為欄位的值
nameID
。
如果您的現有 .rc 檔案中有符合這些條件的區段,請將這些區段放在一或多個個別的 .rc 檔案中,並使用 [資源包含 ] 對話方塊將它們包含在專案中。
資源包含
您可以在 [資源包含 ] 對話方塊中的 [編譯時間指示 詞] 方 塊中 列出資源,以在編譯階段將資源從其他檔案新增至專案。 使用 [ 資源包含 ] 對話方塊,修改專案環境的正常工作安排,將所有資源儲存在專案 .rc 檔案中,以及 中的所有 符號 。 Resource.h
若要開始使用,請以滑鼠右鍵按一下 [資源檢視] 中的 .rc 檔案,開啟 [ 資源包含] 對話方塊,然後選取 [資源包含 ],並記下下列屬性:
屬性 | 說明 |
---|---|
符號標頭檔 | 可讓您變更儲存資源檔符號定義的標頭檔名稱。 如需詳細資訊,請參閱 變更符號標頭檔 的名稱。 |
唯讀符號指示詞 | 可讓您包含標頭檔,其中包含不應該修改的符號。 例如,要與其他專案共用的符號檔。 這也可以包含 MFC .h 檔案。 如需詳細資訊,請參閱 包含共用(唯讀)或匯出符號 。 |
編譯時間指示詞 | 可讓您包含與主要資源檔中的資源分開建立和編輯的資源檔、包含編譯時間指示詞(例如有條件地包含資源的指示詞),或包含自訂格式的資源。 您也可以使用 [ 編譯時間指示詞] 方塊 來包含標準 MFC 資源檔。 |
注意
這些文字方塊中的專案分別出現在 以 TEXTINCLUDE 1
、 TEXTINCLUDE 2
和 TEXTINCLUDE 3
標記的 .rc 檔案中。 如需詳細資訊,請參閱 TN035:搭配 Visual C++ 使用多個資源檔和標頭檔。
使用 [ 資源包含 ] 對話方塊對資源檔進行變更後,您必須關閉並重新開啟 .rc 檔案,變更才會生效。
在編譯時期,於專案中包含資源
將資源放在包含唯一檔案名稱的資源指令碼檔案。 請勿使用 projectname.rc ,因為這是用於主要資源腳本檔案的檔案名。
以滑鼠右鍵按一下 [資源檢視 ] 中的 .rc 檔案,然後選取 [資源包含 ]。
在 [ 編譯時間指示 詞] 方塊中 ,新增 #include 編譯器指示詞,以將新的資源檔包含在開發環境中的主要資源檔中。
以這種方式包含的檔案中的資源只會在編譯時期成為可執行檔的一部分,而且當您處理專案的主要 .rc 檔案時,無法編輯或修改。 包含的 .rc 檔案必須個別開啟,而且資源編輯器無法編輯不含 .rc 副檔名的任何檔案。
若要指定特定資源 (.rc) 檔案的包含目錄
以滑鼠右鍵按一下 方案總管 中的 .rc 檔案,然後選取 [ 屬性 ]。
選取左窗格中的 [ 資源] 節點,並在 [其他包含目錄] 屬性中 指定任何其他 Include 目錄 。
若要尋找資源中的符號
移至 [編輯 > 尋找符號 ] 功能表。
提示
若要在搜尋中使用 正則運算式 ,請在 [編輯 ] 功能表中選取 [在檔案 中 尋找],而不是 [ 尋找符號 ]。 選取 [尋找] 對話方塊中的 [ 使用:正則運算式 ] 核取方塊 ,然後在 [尋找內容 ] 方塊中,從下拉式清單中選擇正則搜尋 運算式。 當您從此清單中選取運算式時,它會取代為 [ 尋找內容 ] 方塊中的搜尋文字。
在 [ 尋找內容] 方塊中,從下拉式清單中選取先前的搜尋字串,或輸入您想要尋找的快速鍵,例如
ID_ACCEL1
。選取任何 [ 尋找 ] 選項,然後選擇 [ 尋找下一步 ]。
注意
您無法在字串、快速鍵或二進位資源中搜尋符號。
需求
Win32