資源描述:
《工具欄和狀態(tài)欄(1)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第5章菜單、工具欄和狀態(tài)欄5.1.1文檔應(yīng)用程序的MFC類(lèi)結(jié)構(gòu)用MFCAppWizard(exe)創(chuàng)建一個(gè)默認(rèn)的單文檔應(yīng)用程序Ex_SDI,將項(xiàng)目工作區(qū)窗口切換到“ClassView(類(lèi)視圖)”頁(yè)面,可以看到構(gòu)成Ex_SDI應(yīng)用程序框架的MFC類(lèi)結(jié)構(gòu),如圖所示。再創(chuàng)建一個(gè)默認(rèn)的多文檔應(yīng)用程序Ex_MDI,可以看到如圖所示的MFC類(lèi)結(jié)構(gòu)。5.1.2項(xiàng)目的文件組織VisualC++6.0中,項(xiàng)目中所有的源文件都采用文件夾的方式進(jìn)行管理的,每一個(gè)類(lèi)的源代碼均保存同名的h和cpp文件。.opt關(guān)于開(kāi)發(fā)環(huán)境的參數(shù)文件,如工具格位置等信息.ap
2、s(AppStudioFile)資源輔助文件,二進(jìn)制格式.clwClassWizard信息文件.dsp(DeveloperStudioProject)項(xiàng)目文件.plg編譯信息文件.mdp(MicrosoftDevStudioProject)舊版本的項(xiàng)目文件.bsc用于瀏覽項(xiàng)目信息.map執(zhí)行文件的映像信息紀(jì)錄文件.pch(Pre-CompiledFile)預(yù)編譯文件,可以加快編譯速度,但是文件非常大.pdb(ProgramDatabase)記錄程序有關(guān)的一些數(shù)據(jù)和調(diào)試信息.ncb無(wú)編譯瀏覽文件(nocompilebrowser)5.
3、1.2項(xiàng)目的文件組織還有相應(yīng)的Debug(調(diào)試)、Res(資源)等子文件夾。程序項(xiàng)目Win32Release版本,它與Release的區(qū)別在于:Debug版本的運(yùn)行程序有相應(yīng)的調(diào)試信息碼,而Release版本的運(yùn)行程序沒(méi)有,但Release版本的運(yùn)行程序經(jīng)過(guò)代碼的優(yōu)化,其程序的運(yùn)行效率被最大提升。通過(guò)選擇“編譯”?“放置可遠(yuǎn)行配置”菜單命令,在圖所示的對(duì)話框中,選擇“Ex_SDI-Win32Release”,然后單擊[確定]按鈕,編譯后即可。5.2菜單Windows程序都有各自的菜單。為了使Windows程序更容易操作,許多程序員對(duì)
4、于菜單的設(shè)計(jì)都遵循下列一些規(guī)則:若選擇某菜單項(xiàng)會(huì)彈出一對(duì)話框,那么在該菜單項(xiàng)文本后有“…”。(2)若某項(xiàng)菜單有子菜單,那么在該菜單項(xiàng)文本后有“?”。(3)若菜單項(xiàng)需要助記符,則用括號(hào)將帶下劃線的字母括起來(lái)。助記符與Alt構(gòu)成一個(gè)組合鍵,當(dāng)按住“Alt”鍵不放,再敲擊(4)該字母時(shí),對(duì)應(yīng)的菜單項(xiàng)就會(huì)被選中。(4)若某項(xiàng)菜單需要快捷鍵的支持,則一般將其列在相應(yīng)菜單項(xiàng)文本之后。所謂“快捷鍵”是一個(gè)組合鍵,如Ctrl+N,使用時(shí)是先按下“Ctrl”健不放,然后再按“N”鍵。任何時(shí)候按下快捷鍵,相應(yīng)的菜單命令都會(huì)被執(zhí)行5.1.1更改應(yīng)用程序菜
5、單通過(guò)菜單編輯器直接修改菜單資源IDR_MAINFRAME可以實(shí)現(xiàn)添加和修改應(yīng)用程序菜單,如下示例過(guò)程。[例Ex_MenuSDI]更改應(yīng)用程序菜單(1)創(chuàng)建一個(gè)默認(rèn)的單文檔應(yīng)用程序Ex_MenuSDI。(2)在項(xiàng)目工作區(qū)窗口中選擇ResourceView頁(yè)面,雙擊資“Menu”項(xiàng)中的IDR_MAINFRAME,則菜單編輯器窗口出現(xiàn)在主界面的右邊,項(xiàng)目Ex_MenuSDI相應(yīng)的菜單資源在菜單編輯器窗口中顯示出來(lái)。(3)按快捷鍵Ctrl+R,彈出“插入資源”對(duì)話框,在資源類(lèi)型中選定“Menu”,如圖5.1.1更改應(yīng)用程序菜單單擊[新建]
6、按鈕,系統(tǒng)就會(huì)為應(yīng)用程序添加一個(gè)新的菜單資源,并自動(dòng)賦給它一個(gè)默認(rèn)的標(biāo)識(shí)符名稱(chēng)(第一次為DR_MENU1,以后依次為IDR_MENU2、IDR_MENU3、...),同時(shí)自動(dòng)打開(kāi)這個(gè)新的菜單資源。5.1.1更改應(yīng)用程序菜單在Menu資源的ID_MENU1上右擊鼠標(biāo),從彈出的快捷菜單中選擇“Properties”命令,在這里可以重新指定菜單資源ID,設(shè)置菜單資源的語(yǔ)言和條件,這個(gè)條件用來(lái)決定菜單資源包含到哪個(gè)環(huán)境中,例如當(dāng)指定條件為_(kāi)DEBUG,則菜單資源只存在于Debug編譯環(huán)境中。5.1.1更改應(yīng)用程序菜單在菜單的空位置上雙擊鼠標(biāo)
7、左鍵,則出現(xiàn)它的屬性對(duì)話框。通過(guò)其屬性對(duì)話框?yàn)椴藛蜪D_MENU1添加一個(gè)頂層彈出菜單項(xiàng)“測(cè)試(&T)”,并在該菜單下添加一個(gè)子菜單項(xiàng)“返回(&R)”,ID設(shè)為ID_TEST_RETURN,需要再次強(qiáng)調(diào)的是,符號(hào)&用來(lái)指定后面的字符是一個(gè)助記符。(7)打開(kāi)Ex_MenuSDI程序菜單資源IDR_MAINFRAME,在“查看”菜單的最后添加一個(gè)子菜單項(xiàng)“顯示測(cè)試菜單(&M)”,ID設(shè)為ID_VIEW_TEST。(8)為CMainFrame類(lèi)添加一個(gè)CMenu類(lèi)型的成員變量m_NewMenu,CMenu類(lèi)是用來(lái)處理菜單的一個(gè)MFC類(lèi)。5
8、.1.1更改應(yīng)用程序菜單按快捷鍵Ctrl+W打開(kāi)MFCClassWizard對(duì)話框,切換到MessageMaps頁(yè)面,從“Classname”列表中選擇CMainFrame,分別為菜單項(xiàng)ID_VIEW_TEST和ID_TEST_RET