HOW TO:在編譯時期包含資源
一般而言,使用資源指令碼 (.rc) 檔的所有資源之預設編排是件簡單又方便的事。 不過,您可在編譯時,從資源包含對話方塊的 [編譯時期指示詞] 方塊所列出的其他檔案資源中,將這些檔案加入目前專案。
將資源置於主 .rc 檔以外的檔案主要是因為下列原因:
為了將註解加入至儲存 .rc 檔時不會被刪除的資源陳述式 (Statement)。
資源編輯器並不會直接讀取 .rc 或 resource.h 檔。 資源編譯器會將它們編譯成 .aps 檔,再交由資源編輯器使用。 這個檔案是一個編譯步驟,且僅儲存符號資料。 在正常編譯處理下,非符號資訊 (例如,註解) 在編譯處理期間會被捨棄。 每當 .aps 檔未與 .rc 檔保持同步時,.rc 檔就會重新產生 (例如,當您儲存時,資源編輯器即覆寫 .rc 檔和 resource.h 檔)。 資源本身的任何變更都會繼續合併至該 .rc 檔中,但是 .rc 檔一旦被覆寫,註解就一定會遺失。
為了包含已完成開發及測試且不需要進一步修改的資源 (資源編輯器將不會編輯任何已包含而副檔名不是 .rc 的檔案)。
為了包含數個不同專案正在使用的資源,或屬於原始程式碼版本控制系統的資源,而因此必須出現在其修改將會影響所有專案的中心位置。
為了包含自訂格式的資源 (例如,RCDATA 資源)。 RCDATA 資源可能會有特別的需求。 例如,您不能將一個運算式當做 nameID 欄位的值。 如需詳細資訊,請參閱 Windows SDK 文件。
如果您現有的 .rc 檔中有某區段符合上述條件,您應將該區段置於一或多個不同的 .rc 檔中,並使用資源包含對話方塊,將它們包含至您的專案。 新專案 \res 子目錄下的 Projectname .rc2 檔便是為這個目的而建立。
若要在編譯時將資源加入您的專案
將資源以唯一名稱置於資源指令碼檔中。 不要使用 projectname .rc,因為這是主要資源指令碼檔的檔名。
在 .rc 檔上按一下滑鼠右鍵 (在資源檢視中),然後從捷徑功能表中選擇 [資源包含]。
在 [編譯時期指示詞] 方塊中,加入 #include 編譯器 (Compiler) 指示詞,將新的資源檔包含至開發環境的主要資源檔。
使用這種方式所包含的檔案資源會在編譯時成為可執行檔的一部分。 您無法在使用專案的主要 .rc 檔時直接編輯或修改這些資源。 您必須分別開啟這些被包含的 .rc 檔。 資源編輯器將不會編輯任何已包含而副檔名不是 .rc 的檔案。
如需將資源加入至 Managed 專案的詳細資訊,請參閱《.NET Framework 開發人員手冊》中的應用程式中的資源。 如需手動將資源加入至 Managed 專案、存取資源、顯示靜態資源和指定屬性的資源字串等詳細資訊,請參閱逐步解說:將 Windows Form 當地語系化和Walkthrough: Using Resources for Localization with ASP.NET。
需求
Win32