菜單工具欄與狀態(tài)欄.ppt

菜單工具欄與狀態(tài)欄.ppt

ID:52393998

大?。?81.01 KB

頁數(shù):44頁

時間:2020-04-05

菜單工具欄與狀態(tài)欄.ppt_第1頁
菜單工具欄與狀態(tài)欄.ppt_第2頁
菜單工具欄與狀態(tài)欄.ppt_第3頁
菜單工具欄與狀態(tài)欄.ppt_第4頁
菜單工具欄與狀態(tài)欄.ppt_第5頁
資源描述:

《菜單工具欄與狀態(tài)欄.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第4章菜單、工具欄與狀態(tài)欄VisualC++程序設(shè)計與應(yīng)用教程4.1菜單4.2工具欄4.3狀態(tài)欄4.4應(yīng)用實例24.1菜單4.1.1菜單的類型常見菜單有3種:主菜單、彈出菜單和快捷菜單。1.主菜單指出現(xiàn)在應(yīng)用程序主窗口或最上層窗口的菜單。通常對應(yīng)有一個彈出菜單作為它的子菜單。32.彈出菜單指選擇主菜單或一個菜單項時彈出的子菜單。3.快捷菜單當(dāng)右擊某個界面對象時,通常會彈出快捷菜單,它出現(xiàn)在鼠標(biāo)箭頭的位置,快速展示當(dāng)前對象可用的命令功能。4菜單設(shè)計一般需要經(jīng)過下面兩步:(1)使用菜單編輯器編輯菜單資源;(2)使用ClassWizard進行消息映

2、射,編輯成員函數(shù),完成菜單所要實現(xiàn)的功能。54.1.2編輯菜單使用菜單編輯器來編輯菜單資源。雙擊ResourceView視圖中的Menu菜單資源,打開菜單編輯器。61.插入新菜單項在當(dāng)前空白菜單項位置插入選定窗口中的空白菜單項后按回車鍵(或雙擊空白菜單項),系統(tǒng)彈出菜單屬性對話框。在某菜單項前插入選中該菜單項并按Ins鍵,再雙擊該空白菜單項進行編輯。72.屬性對話框的設(shè)置用于輸入菜單項的標(biāo)識符(ID)、標(biāo)題(Caption)和菜單項在狀態(tài)欄上顯示的提示(Prompt)信息等。菜單項的標(biāo)識符(ID)菜單項在狀態(tài)欄上顯示的提示信息標(biāo)題893.調(diào)整

3、菜單項位置選中某菜單項將其拖至適當(dāng)位置。4.刪除菜單項用鼠標(biāo)單擊菜單項或用上、下、左、右光標(biāo)鍵選擇菜單項,然后單擊Cut按鈕或按Del鍵刪除。10【例4.1】編寫一個單文檔應(yīng)用程序MyDraw,在菜單欄中增加一個“繪圖”主菜單,并在其中添加“矩形”和“橢圓”兩個菜單項。114.1.3建立消息映射在上例中僅添加了菜單,并沒有實現(xiàn)菜單的功能,即沒有對應(yīng)的命令處理函數(shù)與菜單項對應(yīng),因此,添加的菜單項是灰色的,即處于當(dāng)前不可用狀態(tài)。添加新的菜單項后,還應(yīng)該為菜單項指定一個處理函數(shù),即利用ClassWizard類向?qū)砑右粋€消息處理函數(shù)。12【例4.2

4、】為例4.1中增加的菜單項添加消息處理函數(shù)。134.1.4菜單的有效控制一般情況下,菜單項都不止一種狀態(tài)。例如,在沒有選擇任何內(nèi)容時,Edit菜單下的Copy、Cut等菜單項是無效的(灰色顯示)。有時,我們還會看到,在菜單項旁邊可能還會有檢查標(biāo)記,表示它是選中的還是不選中的。比如,在Word的視圖菜單項下,當(dāng)用戶選用【網(wǎng)格線】或【標(biāo)尺】時,相應(yīng)菜單項前會出現(xiàn)一個“√”。MFC通過消息映射機制和CCmdUI類更新菜單項的顯示。14在類向?qū)lassWizard的MessageMap標(biāo)簽中,如果選擇一個菜單ID,在Messages列表框中就會出現(xiàn)

5、以下兩項:COMMANDUPDATE_COMMAND_UI其中UPDATE_COMMAND_UI是更新命令用戶接口消息,專門用于處理菜單項和工具條按鈕的更新。15【例4.3】為例4.2的程序MyDraw添加更新用戶界面的消息處理函數(shù),使程序啟動時菜單項【橢圓】處于不可用狀態(tài),當(dāng)用戶單擊【矩形】菜單項后,在菜單項前顯示“√”標(biāo)記,并使【橢圓】菜單項變?yōu)榭捎谩?64.1.5快捷菜單為應(yīng)用程序創(chuàng)建快捷菜單主要有以下兩種方法。1.使用ComponentGallery創(chuàng)建快捷菜單ComponentGallery(組件畫廊)是一個組件庫,它保存著可以共享

6、或重用的代碼。這些代碼包括由VisualC++自帶的組件和從用戶工程中增加到Gallery中去的用戶自定義組件。17【例4.4】為例4.3中的應(yīng)用程序MyDraw增加一個快捷菜單。程序運行后,用戶在視圖窗口中右擊,彈出一個快捷菜單,顯示主菜單“繪圖”下的所有菜單項??旖莶藛?82.使用TrackPopupMenu()函數(shù)創(chuàng)建快捷菜單使用菜單資源編輯器和CMenu::TrackPopupMenu()函數(shù)來創(chuàng)建右鍵快捷菜單。CMenu::TrackPopupMenu函數(shù)的原型為:BOOLTrackPopupMenu(UINTnFlags,intx

7、,inty,CWnd*pWnd,LPCRECTlpRect=NULL);該函數(shù)的功能是顯示一個右鍵快捷菜單。其中,nflags表示屏幕位置標(biāo)志(見下表)。x、y分別表示菜單的水平坐標(biāo)和頂端的垂直坐標(biāo);pWnd表示彈出菜單的窗口,包括全部的WM_COMMAND消息;lpRect表示一個矩形域,當(dāng)單擊這個矩形域時菜單不消失。19參數(shù)nflags的含義20【例4.5】使用TrackPopupMenu()函數(shù)創(chuàng)建例4.3中的快捷菜單。214.1.6創(chuàng)建動態(tài)菜單動態(tài)創(chuàng)建菜單分為以下3個步驟。(1)利用CreateMenu()函數(shù)創(chuàng)建一個空的彈出式菜單,

8、該函數(shù)的原型為:HMENUCreateMenu()該函數(shù)沒有參數(shù),它的返回值是一個菜單句柄。(2)調(diào)用AppendMenu()或InsertMenu()函數(shù)在菜單中

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。