明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

資源文件說明:使用資源

[摘要]使用資源資源可以由廣范的元素組成,其中包括:向用戶提供信息的界面元素(如位圖、圖標(biāo)或光標(biāo))。包含應(yīng)用程序所需數(shù)據(jù)的自定義資源。安裝 API 所使用的版本資源。菜單和對(duì)話框資源?梢韵蝽(xiàng)目添加新資源并使用適當(dāng)?shù)馁Y源編輯器修改這些資源。 大多數(shù) Visual C++ 向?qū)ё詣?dòng)為項(xiàng)目生成 .rc 文件。...
使用資源
資源可以由廣范的元素組成,其中包括:
•向用戶提供信息的界面元素(如位圖、圖標(biāo)或光標(biāo))。
•包含應(yīng)用程序所需數(shù)據(jù)的自定義資源。
•安裝 API 所使用的版本資源。
•菜單和對(duì)話框資源。
可以向項(xiàng)目添加新資源并使用適當(dāng)?shù)馁Y源編輯器修改這些資源。 大多數(shù) Visual C++ 向?qū)ё詣?dòng)為項(xiàng)目生成 .rc 文件。
本節(jié)內(nèi)容
•Resource Files
•Creating a New Resource Script (.rc) File
•Creating a New Resource
•Viewing Resources in an .rc File
•Opening a Resource Script File in Text Format
•Including Resources at Compile Time
•Specifying Include Directories for Resources
•Copying Resources
•Searching for Symbols in Resources
•Using Resource Templates (.rct)
•Importing and Exporting Resources
•Manifest Resources
•Symbols: Resource Identifiers (IDs)
•Resource Editors
•Viewing Resources in a Resource Editor
•Editing Resources in a Resource Editor
•Resource Previews
相關(guān)章節(jié)
•Resource View
•Platform SDK 的Resources一節(jié)
使用 Visual C++
•Porting and Upgrading
•Creating and Managing Visual C++ Projects
•Building Your Program
•Adding Functionality
使用 Visual Studio .NET 開發(fā)代碼
•Unmanaged Development with C++
•Managed Development with Visual Basic, C#, and C++
•Visual Studio.NET
獲取有關(guān) Visual Studio .NET 的幫助
•Locating Readme Files
•Visual C++ on the Web
•Technical Support for Visual Studio.NET
•Accessibility for People with Disabilities

#資源文件
術(shù)語“資源文件”可以指若干文件類型,包括:
•程序的資源腳本 (.rc) 文件。
•資源模板 (.rct) 文件。
•作為獨(dú)立文件存在的個(gè)別資源,如從 .rc 文件引用的位圖、圖標(biāo)或光標(biāo)文件。
•由開發(fā)環(huán)境生成的頭文件(如 Resource.h),它從 .rc 文件中引用。
在other file types(如 .exe、.dll 和 .res 文件)中也可以找到資源。 可以從項(xiàng)目內(nèi)使用資源和資源文件,并可使用不屬于當(dāng)前項(xiàng)目的資源和資源文件。 也可使用不是在 Visual Studio 開發(fā)環(huán)境中創(chuàng)建的資源文件。例如,可以:
•使用嵌套的和按條件包含的資源文件。
•更新現(xiàn)有資源或?qū)⑵滢D(zhuǎn)化成 Visual C++ 格式。
•將圖形資源導(dǎo)入當(dāng)前資源文件或從當(dāng)前資源文件導(dǎo)出。
•包含開發(fā)環(huán)境無法修改的共享或只讀標(biāo)識(shí)符(符號(hào))。
•在可執(zhí)行 (.exe) 文件中包含創(chuàng)建當(dāng)前項(xiàng)目的過程中不需要編輯(或不希望編輯)的資源,如若干項(xiàng)目之間共享的資源。
•包含開發(fā)環(huán)境不支持的資源類型。
本節(jié)介紹:
•Creating a New Resource Script File
•Creating a New Resource
•Viewing Resources in a Resource Script File
•Opening a Resource Script File in Text Format
•Including Resources at Compile Time
•Copying Resources
•Using Resource Templates (.rct)
•Importing and Exporting Resources
•Editable File Types for Resources
•File Extensions for Resources
•Files Affected by Resource Editing
請(qǐng)參見
Resource Editors Working with Resources Platform SDK 的Resources一節(jié)

#創(chuàng)建新資源腳本文件
創(chuàng)建新資源文件
1.在Solution Explorer中突出顯示現(xiàn)有項(xiàng)目。
2.在@Project@菜單上單擊@Add New Item@。
3.在@Add New Item@對(duì)話框中單擊@Visual C++@文件夾,然后在右窗格中選擇@Resource File (.rc)@。
4.在@Name@文本框中提供資源腳本文件的名稱,然后單擊@Open@。
現(xiàn)在可以create并向 .rc 文件添加新資源。
注意 只能將資源腳本(.rc 文件)添加到載入 Visual Studio IDE 內(nèi)的現(xiàn)有項(xiàng)目。 無法創(chuàng)建獨(dú)立的 .rc 文件(項(xiàng)目外的文件)。 可隨時(shí)創(chuàng)建Resource templates(.rct 文件)。
請(qǐng)參見
Resource Files Resource Editors

#創(chuàng)建新資源
在@Resource View@中創(chuàng)建新資源
•將焦點(diǎn)放在Resource View Window中,單擊@Edit@菜單并選擇@Add Resource@(或在@Resource@視圖中右擊 .rc 文件并從快捷菜單中選擇@Add Resource@)。
在解決方案資源管理器中創(chuàng)建新資源
•在Solution Explorer窗格中,右擊項(xiàng)目文件夾,然后在快捷菜單中單擊@Add@并從展開的菜單中選擇@Resource@。
在@Class View@中創(chuàng)建新資源
1.在Class View窗格中,右擊類并從快捷菜單中選擇@Add Resource@。
2.在Add Resource dialog box中選擇要添加到項(xiàng)目的資源類型。
從@Project@菜單創(chuàng)建新資源
•在@Project@菜單中選擇@Add Resource@。
當(dāng)創(chuàng)建新資源時(shí),Visual C++ 給該資源分配一個(gè)唯一的名稱,如 IDD_Dialog1。 可以通過在關(guān)聯(lián)的資源編輯器或在Properties Window中編輯資源屬性來自定義該資源 ID。
可以創(chuàng)建資源作為新的默認(rèn)資源(不基于模板的資源)或作為模仿template的資源。
請(qǐng)參見
Resource Files Resource Editors Add Resource Dialog Box

#@Resource View@窗口
@Resource@視圖顯示項(xiàng)目中包含的資源文件。 展開頂部文件夾(如 Project1.rc)將顯示該 .rc 文件中的資源類型。 展開每種資源類型將顯示該類型的各個(gè)資源。
提示 可以在@Resource View@窗口上右擊以啟動(dòng)命令的快捷菜單。 也可以在標(biāo)題欄上雙擊以停靠或取消?吭摯翱。 在標(biāo)題欄上右擊將提供允許控制窗口行為的其他命令。有關(guān)更多信息,請(qǐng)參閱Windows Management。
打開@resource view@窗口
•單擊@View@菜單上的@Resource View@。
— 或 —
•按 CTRL+SHIFT+E 鍵。
請(qǐng)參見
Working with Resources

#@Add Resource@對(duì)話框
@Resource Type@
指定要?jiǎng)?chuàng)建的資源類型。
可以展開光標(biāo)和對(duì)話框資源目錄以顯示附加資源。 這些資源位于 \Program Files\Microsoft Visual Studio.NET\Vc7\VCResourceTemplates\<LCID>\mfc.rct 中。如果添加其他 .rct 文件,則這些文件必須放在該目錄下或必須為它們指定include path。 這些文件中包含的資源隨后將顯示在適當(dāng)目錄下的第二層。 對(duì)可添加的 .rct 文件數(shù)沒有預(yù)設(shè)限制。
顯示在樹控件頂層的資源是 Visual Studio 提供的默認(rèn)資源。
@New@
基于在@Resource Type@框中選擇的類型創(chuàng)建資源。 資源在適當(dāng)?shù)木庉嬈鲀?nèi)打開。 例如,創(chuàng)建新對(duì)話框資源將在Dialog editor中打開它。
@Import@
打開@Import@對(duì)話框,可在其中定位到希望導(dǎo)入當(dāng)前項(xiàng)目中的資源。 該對(duì)話框使您得以導(dǎo)入位圖、圖標(biāo)、光標(biāo)、HTML 或聲音 (.WAV) 資源,或當(dāng)前資源文件的任何自定義資源。
@Custom@
打開New Custom Resource dialog box,可在其中創(chuàng)建新的自定義資源。 自定義資源只能在二進(jìn)制編輯器中進(jìn)行編輯。
請(qǐng)參見
Creating a New Resource

#@New Custom Resource@對(duì)話框
使您得以創(chuàng)建新自定義資源。
@Resource Type@
提供輸入自定義資源類型名稱的空間。 如果不以全部大寫字母的形式輸入名稱,Visual C++ 在您退出時(shí)將名稱大寫。
請(qǐng)參見
Add Resource Dialog Box

#在項(xiàng)目外打開資源腳本文件(獨(dú)立)
可以查看 .rc 文件中的資源而不必打開項(xiàng)目。 .rc 文件將在文檔窗口中打開,而不是在Resource View窗口中打開(文件在項(xiàng)目內(nèi)打開時(shí)的行為)。
注意 這是一個(gè)重要的區(qū)別,因?yàn)槟承┟顑H在文件獨(dú)立打開(在項(xiàng)目外)時(shí)可用。 例如,僅當(dāng)在項(xiàng)目外打開文件時(shí),才能以不同的格式或不同的文件名保存文件(當(dāng)在項(xiàng)目內(nèi)打開文件時(shí),@Save As@命令不可用)。
在項(xiàng)目外打開 .rc 文件
•從@File@菜單中選擇@Open@,然后單擊@File@。
•在@Open File@對(duì)話框中定位到要查看的資源腳本文件,突出顯示該文件,并單擊@Open@。
注意 如果先打開項(xiàng)目(@File@->@Open@->@Project@),則某些命令將不可用。 “獨(dú)立”打開文件意味著在沒有先加載項(xiàng)目的情況下打開文件。
若要以文本格式打開和查看資源文件,請(qǐng)參閱Editing a Resource Script (.rc) File。
在項(xiàng)目外打開多個(gè) .rc 文件
1.同時(shí)獨(dú)立打開兩個(gè)資源文件。例如,打開 Source1.rc 和 Source2.rc。
a.從@File@菜單中選擇@Open@,然后單擊@File@。
b.在@Open File@對(duì)話框中定位到要打開的第一個(gè)資源腳本文件 (Source1.rc),突出顯示該文件并單擊@Open@。
c.重復(fù)上一步驟,打開第二個(gè) .rc 文件 (Source2.rc)。
現(xiàn)在這兩個(gè) .rc 文件在單獨(dú)的文檔窗口中打開。
2.當(dāng)這兩個(gè) .rc 文件都打開時(shí),平鋪窗口以便可以同時(shí)查看它們:
•從@Window@菜單中選擇@New Horizontal Tab Group@或@New Vertical Tab Group@。
— 或 —
•右擊 .rc 文件中的一個(gè),并從快捷菜單中選擇@New Horizontal Tab Group@或@New Vertical Tab Group@。
請(qǐng)參見
Resource Files Resource Editors

#以文本格式打開資源腳本文件
有時(shí)可能需要查看項(xiàng)目的資源腳本 (.rc) 文件的內(nèi)容,而不必在特定的資源編輯器中打開資源(如對(duì)話框)。 例如,可能需要在資源文件中的所有對(duì)話框內(nèi)搜索字符串,而不必分別打開每個(gè)對(duì)話框。
可以以文本格式輕松打開資源文件,查看文件所包含的所有資源并執(zhí)行Text editor支持的全局操作。
注意 資源編輯器不直接讀取 .rc 或 resource.h 文件。資源編譯器將它們編譯成由資源編輯器使用的 .aps 文件。該文件是一個(gè)編譯步驟,只存儲(chǔ)符號(hào)數(shù)據(jù)。與普通編譯過程一樣,非符號(hào)信息(如注釋)在編譯過程中被放棄。每當(dāng) .aps 文件與 .rc 文件不同步時(shí),就會(huì)重新生成 .rc 文件(例如,當(dāng)您進(jìn)行“保存”時(shí),資源編輯器將改寫 .rc 文件和 resource.h 文件)。對(duì)資源本身所做的任何更改依然包含在 .rc 文件中,但一旦改寫 .rc 文件就總會(huì)丟失注釋。有關(guān)如何保留注釋的信息,請(qǐng)參閱Including Resources at Compile Time。
以文本格式打開資源腳本文件
1.從@File@菜單中選擇@Open@,然后單擊@File@。
2.在@Open File@對(duì)話框中定位到要以文本格式查看的資源腳本文件。
3.突出顯示該文件,然后單擊@Open@按鈕上的下拉箭頭(位于按鈕右邊)。
4.從下拉菜單中選擇@Open With@。
5.在@Open With@對(duì)話框中單擊@Source Code (Text) Editor@。
6.從@Open As@下拉列表中選擇@Text@。
資源在源碼編輯器中打開。
— 或 —
1.在Solution Explorer中右擊 .rc 文件。
2.從快捷菜單中選擇@Open with...@,然后選擇@Source Code (Text) Editor@。
請(qǐng)參見
Resource Files Resource Editors

#向資源腳本文件添加 MFC 支持
通常,當(dāng)使用MFC Application Wizard生成用于 Windows 的 MFC 應(yīng)用程序時(shí),向?qū)砂?Microsoft 基礎(chǔ)類 (MFC) 的核心功能的基本文件集(包含資源腳本 (.rc) 文件)。 但是,如果正在編輯不基于 MFC 的 Windows 應(yīng)用程序的 .rc 文件,則下面特定于 MFC 框架的功能不可用:
•MFC 代碼向?qū)Вㄒ郧胺Q為“MFC ClassWizard”)
•菜單提示字符串
•列出組合框控件的內(nèi)容
•ActiveX 控件宿主
然而,可以向不具有 MFC 支持的現(xiàn)有 .rc 文件添加該支持。
向 .rc 文件添加 MFC 支持
1.打開資源腳本文件。
2.在Resource View中突出顯示資源文件夾(如 MFC.rc)。
3.在Properties window中將@MFC Mode@屬性設(shè)置為@True@。
注意 除設(shè)置該標(biāo)志外,.rc 文件還必須是 MFC 項(xiàng)目的一部分。 例如,在 Win32 項(xiàng)目中的 .rc 文件上僅將@MFC Mode@設(shè)置為@True@不會(huì)提供任何 MFC 功能。
請(qǐng)參見
Resource Files Resource Editors

#編譯時(shí)包含資源
通常,使用所有資源在一個(gè)資源腳本 (.rc) 文件中的默認(rèn)安排既簡單又方便。 然而,在編譯時(shí),可以通過在Resource Includes dialog box中的@Compile-time directives@框列出其他文件中的資源,將這些資源添加到當(dāng)前項(xiàng)目。
將資源放置在主 .rc 文件以外的文件中有若干原因:
•向在保存 .rc 文件時(shí)不會(huì)被刪除的資源語句添加注釋。
資源編輯器不直接讀取 .rc 或 resource.h 文件。資源編譯器將它們編譯成由資源編輯器使用的 .aps 文件。該文件是一個(gè)編譯步驟,只存儲(chǔ)符號(hào)數(shù)據(jù)。與普通編譯過程一樣,非符號(hào)信息(如注釋)在編譯過程中將被放棄。每當(dāng) .aps 文件與 .rc 文件不同步時(shí),就會(huì)重新生成 .rc 文件(例如,當(dāng)您進(jìn)行“保存”時(shí),資源編輯器將改寫 .rc 文件和 resource.h 文件)。對(duì)資源本身所做的任何更改依然包含在 .rc 文件中,但一旦改寫 .rc 文件就總會(huì)丟失注釋。有關(guān)如何保留注釋的信息,請(qǐng)參閱Including Resources at Compile Time。
•包含已開發(fā)和測(cè)試的并且不需進(jìn)一步修改的資源。 (任何不具有 .rc 擴(kuò)展名的包含文件都無法由資源編輯器編輯。)
•包含正在由若干不同項(xiàng)目使用的資源或?yàn)樵创a版本控制系統(tǒng)部分的資源,這樣,這些資源必須存在于修改將影響所有項(xiàng)目的中心位置。
•包含自定義格式的資源(如 RCDATA 資源)。 RCDATA 資源可能有特殊要求。 例如,不能將表達(dá)式用作 nameID 字段的值。 有關(guān)更多信息,請(qǐng)參閱 Platform SDK 文檔。
如果現(xiàn)有的 .rc 文件中有滿足這些條件中任一項(xiàng)的會(huì)話,則應(yīng)將會(huì)話放置到一個(gè)或多個(gè)單獨(dú)的 .rc 文件中并使用Resource Includes dialog box將其包含在項(xiàng)目中。 在新項(xiàng)目的 \res 子目錄中創(chuàng)建的 Projectname.rc2 文件便是用于該目的。
在編譯時(shí)將資源包含在項(xiàng)目中
1.將資源放置到具有唯一文件名的資源腳本文件中。 不要使用 projectname.rc,因?yàn)樗怯糜谥髻Y源腳本文件的文件名。
2.(在Resource View中)右擊 .rc 文件并從快捷菜單中選擇@Resource Includes@。
3.在@Compile-time directives@框中添加#include編譯器指令,以將新資源文件包含在開發(fā)環(huán)境的主資源文件中。
以這種方式包含的文件中的資源在編譯時(shí)成為可執(zhí)行文件的一部分。 當(dāng)處理項(xiàng)目的主 .rc 文件時(shí),這些資源不能直接用于編輯或修改。 需要單獨(dú)打開所包含的 .rc 文件。 資源編輯器不可編輯任何包含在其中的但不具有 .rc 擴(kuò)展名的文件。
請(qǐng)參見
Resource Files Resource Editors