資源描述:
《Visual C++程序設(shè)計(jì)教程 段智毅 第6章 文檔與視圖 》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第6章文檔與視圖【學(xué)習(xí)目標(biāo)】了解文檔視圖結(jié)構(gòu)對(duì)于開發(fā)人員設(shè)計(jì)MFC應(yīng)用程序很有幫助。文檔視圖結(jié)構(gòu)是MFC應(yīng)用程序的重要組成部分。它將數(shù)據(jù)的管理和顯示隔離開來,給程序員帶來了極大的方便。但是文檔/視圖又比較復(fù)雜,使初學(xué)者往往又難以理解它的精髓。本章從實(shí)用的角度由淺入深地剖析了文檔/視圖的應(yīng)用。通過本章的學(xué)習(xí),讀者可以達(dá)到以下學(xué)習(xí)目的:l能夠創(chuàng)建文檔視圖結(jié)構(gòu)應(yīng)用程序l能夠動(dòng)態(tài)創(chuàng)建菜單l能夠動(dòng)態(tài)創(chuàng)建工具欄l能夠動(dòng)態(tài)創(chuàng)建狀態(tài)欄l能夠設(shè)計(jì)Web瀏覽器課件制作人:宋坤【學(xué)習(xí)導(dǎo)航】通常,應(yīng)用程序的主界面由菜單、工具欄、客戶區(qū)域和狀態(tài)欄4部分組成。在本章中本教材逐一介紹菜
2、單、工具欄、客戶區(qū)域和狀態(tài)欄的設(shè)計(jì)過程,這些知識(shí)是設(shè)計(jì)應(yīng)用程序界面必備的基礎(chǔ)知識(shí),希望讀者能夠熟練掌握。本章在書中的學(xué)習(xí)位置如圖6-1所示。課件制作人:宋坤【知識(shí)框架】本章學(xué)習(xí)內(nèi)容知識(shí)框架如圖6-2所示。課件制作人:宋坤√本章目錄6.1文檔/視圖結(jié)構(gòu)應(yīng)用程序6.2菜單設(shè)計(jì)6.3工具欄設(shè)計(jì)6.4狀態(tài)欄設(shè)計(jì)6.5視圖窗口應(yīng)用6.6課后習(xí)題√√√√√課件制作人:宋坤6.1文檔/視圖結(jié)構(gòu)應(yīng)用程序在MFC中,為了管理和維護(hù)文檔、視圖、框架之間的關(guān)系,定義了一個(gè)文檔模板類CDocTemplate,并從該類派生了兩個(gè)子類CSingleDocTemplate和CMultiDo
3、cTemplate。實(shí)際上,文檔、視圖、框架的創(chuàng)建都是通過CDocTemplate或其派生類實(shí)現(xiàn)的。當(dāng)應(yīng)用程序的文檔模板為CSingleDocTemplate時(shí),表示應(yīng)用程序?yàn)閱挝臋n應(yīng)用程序;如果應(yīng)用程序的文檔模板為CMultiDocTemplate,表示應(yīng)用程序是多文檔應(yīng)用程序。單文檔應(yīng)用程序與多文檔應(yīng)用程序的區(qū)別是:?jiǎn)挝臋n應(yīng)用程序一次只能打開一個(gè)框架窗口,同一時(shí)刻,只能存在一個(gè)文檔實(shí)例;多文檔應(yīng)用程序一次可以打開多個(gè)框架窗口,每個(gè)框架窗口都可以包含一個(gè)文檔實(shí)例。下面以創(chuàng)建單文檔應(yīng)用程序?yàn)槔齺順?gòu)建文檔/視圖應(yīng)用程序,具體操作步驟如下。(1)啟動(dòng)VisualC
4、++6.0集成開發(fā)環(huán)境,單擊菜單欄中的“File”/“New”命令,打開New窗口,如圖6-1所示。(2)在New窗口中選擇Projects選項(xiàng)卡,在列表中選擇MFCAppWizard[exe]項(xiàng),在Projectname文本框中輸入工程名CMyVeiw,在Location文本框中設(shè)置工程文件存放的位置為“C:CMyVeiw”,如圖6-1所示。課件制作人:宋坤6.1文檔/視圖結(jié)構(gòu)應(yīng)用程序(3)單擊OK按鈕,打開MFCAppWizard—Step1窗口,如圖6-2所示。(4)選擇Singledocument選項(xiàng),創(chuàng)建一個(gè)單文檔視圖應(yīng)用程序,單擊Finish按鈕
5、完成應(yīng)用程序的創(chuàng)建。(5)運(yùn)行程序,效果如圖6-3所示。課件制作人:宋坤6.2菜單設(shè)計(jì)菜單是用戶界面的組成部分。在MFC中,CMenu封裝了Windows的菜單功能,它提供了多個(gè)方法用于創(chuàng)建、修改、合并菜單。本節(jié)將向您詳細(xì)介紹菜單的設(shè)計(jì)和應(yīng)用。菜單資源的設(shè)計(jì)菜單的命令處理菜單的主要方法創(chuàng)建菜單動(dòng)態(tài)創(chuàng)建菜單√√√√√課件制作人:宋坤菜單資源設(shè)計(jì)在VisualC++中,用戶可以通過工作區(qū)方便地設(shè)計(jì)菜單資源。下面本教材介紹如何設(shè)計(jì)菜單資源。(1)在工作區(qū)的“ResourceView”選項(xiàng)卡中鼠標(biāo)右鍵單擊某個(gè)節(jié)點(diǎn),將彈出一個(gè)快捷菜單,如圖6-4所示。(2)在彈出菜單中
6、選擇“Insert”菜單項(xiàng),將打開插入資源對(duì)話框,如圖6-5所示。課件制作人:宋坤菜單資源設(shè)計(jì)(3)單擊“New”按鈕,將創(chuàng)建一個(gè)菜單,如圖6-6所示。(4)在菜單設(shè)計(jì)窗口中,按鍵打開屬性窗口,設(shè)計(jì)菜單標(biāo)題,如圖6-7所示。(5)按鍵保存設(shè)置,返回到菜單設(shè)計(jì)窗口,圖6-8所示。課件制作人:宋坤菜單資源設(shè)計(jì)(6)如果用戶需要設(shè)計(jì)子菜單,可以選中下方的虛邊框,按鍵打開屬性窗口,在屬性窗口中設(shè)置菜單項(xiàng)標(biāo)題和菜單ID,如圖6-9所示。(7)按鍵保存設(shè)置,返回到菜單設(shè)計(jì)窗口,圖6-10所示。課件制作人:宋坤菜單資源
7、設(shè)計(jì)(8)如果用戶想要設(shè)計(jì)一個(gè)級(jí)聯(lián)菜單,可以在菜單項(xiàng)的屬性窗口中選中“Pop-up”選項(xiàng),這樣,在菜單項(xiàng)的右方將顯示一個(gè)箭頭,效果如圖6-11所示。在設(shè)計(jì)菜單項(xiàng)信息時(shí),經(jīng)常為菜單項(xiàng)設(shè)置加速鍵。在設(shè)計(jì)菜單文本時(shí),可以在某個(gè)字母前使用“&”符號(hào),這樣,字母將顯示一個(gè)下劃線,表示加速鍵。效果如圖6-12所示。如果用戶想要在菜單文本中輸入“&”符號(hào),需要輸入兩個(gè)“&”符號(hào)。課件制作人:宋坤菜單的命令處理如果一個(gè)菜單項(xiàng)不是頂層菜單或彈出式菜單,則菜單項(xiàng)有一個(gè)菜單ID,即使用戶不設(shè)置菜單ID,系統(tǒng)也會(huì)為其指定一個(gè)維一的菜單ID。通過菜單ID,用戶可以處理菜單項(xiàng)的命令消息。
8、按組合鍵打開類向?qū)?,?/p>