資源描述:
《清華大學(xué)c++和vc++課件vc_3_12a》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、面向?qū)ο笈c可視化程序設(shè)計(jì)--VisualC++編程主講教師:唐龍教授(計(jì)算機(jī)科學(xué)與技術(shù)系)黃維通博士(計(jì)算機(jī)與信息管理中心)清華大學(xué)2001年2月6/14/20211第十二章菜單類及其應(yīng)用6/14/20212內(nèi)容提要菜單類簡(jiǎn)介菜單類控件的應(yīng)用6/14/20213§12.1.菜單類簡(jiǎn)介6/14/20214,,1.菜單菜單是用戶與應(yīng)用程序交互的最常用手段。菜單存放在資源腳本中,在程序運(yùn)行時(shí)調(diào)用。一個(gè)菜單項(xiàng)必須包含兩部分:菜單項(xiàng)名稱——字符串構(gòu)成,例如:file菜單項(xiàng)標(biāo)識(shí)符ID——整數(shù)值,可用整數(shù)常量表示菜單標(biāo)識(shí)符ID在資源的頭文件Resource.h中定義,前綴IDM指明是菜單項(xiàng),
2、如:#defineIDM_MENU1129在菜單資源,必須鏈接到類中,通過提供類方法來處理每個(gè)菜單項(xiàng)。6/14/20215IDR_MENU1MENUDISCARDABLEBEGINPOPUP"&File"http://定義File菜單BEGIN//菜單File定義開始MENUITEM"&Voice",IDC_VOICE_MENU//菜單項(xiàng)MENUITEM"&Show",IDC_SHOW_MENU//菜單項(xiàng)MENUITEMSEPARATOR//分隔線MENUITEM"&Exit",IDC_EXIT_MENU//菜單項(xiàng)END//菜單File定義結(jié)束POPUP"&Help"http://定義Help菜單
3、BEGIN//菜單Help定義開始MENUITEM"&About",IDC_ABOUT_MENU//菜單項(xiàng)END//菜單Help定義結(jié)束END2.菜單結(jié)構(gòu)菜單模板用一種很簡(jiǎn)單的結(jié)構(gòu)在資源腳本文件中定義,一個(gè)菜單資源模板實(shí)例如下:6/14/202163.CMenu類CMenu類是Cobject類直接派生的。CMenu類提供了許多處理菜單和菜單項(xiàng)的方法:構(gòu)造方法;菜單操作方法;菜單項(xiàng)操作方法;虛擬方法。6/14/202173.CMenu類(續(xù))構(gòu)造方法用于建立Windows菜單,并在運(yùn)行時(shí)將它們附加到CMenu對(duì)象上,6/14/202183.CMenu類(續(xù))菜單操作方法用于處理菜
4、單的頂層操作,只有兩個(gè)方法:DeleteMenu()刪除指定的菜單項(xiàng)(包括附屬的級(jí)連菜單項(xiàng));TrackPopupMenu()在一個(gè)指定的位置顯示一個(gè)快捷菜單。6/14/202193.CMenu類(續(xù))菜單項(xiàng)操作方法有多種用于處理指定菜單項(xiàng)操作6/14/202110§12.2.菜單類編程實(shí)例6/14/2021111.應(yīng)用程序的實(shí)現(xiàn)功能主窗口標(biāo)題為ApplicationofMenu。有三個(gè)按鈕:Voice、Show和Exit。有兩個(gè)菜單:File和Help。File下拉出三個(gè)菜單項(xiàng):Voice、Show和Exit。單擊Vioce選項(xiàng),可聽到PC機(jī)喇叭發(fā)出蜂鳴聲單擊Show,則彈出
5、對(duì)話框,顯示信息“ThisisaSampleofaddingmenu”。單擊Exit,則退出。6/14/202112主窗口布局如下圖;6/14/2021132.編程過程建立工程文件:用MFCAppWizard(exe)工程項(xiàng)目名稱:Menu建立主窗口標(biāo)題為ApplicationofMenu的應(yīng)用程序??梢暬幊?設(shè)計(jì)界面連接變量修改特性添加代碼6/14/2021143.界面設(shè)計(jì)在Menu的工作區(qū)中選擇ResourceView在名為IDD_MENU_DIALOG的對(duì)話框作為應(yīng)用程序的主窗口中進(jìn)行界面設(shè)計(jì)。對(duì)話框中按鈕的設(shè)計(jì)借助于工具窗,在主窗口中安排三個(gè)命令按鈕。在命令按鈕上單擊
6、右鍵,選Propertires在PuchButtonPropertires的General上,輸入相應(yīng)的ID和Caption重復(fù)三次,完成了三個(gè)按鈕的設(shè)計(jì)。6/14/2021153.界面設(shè)計(jì)(續(xù))設(shè)計(jì)的三個(gè)按鈕屬性對(duì)象IDCaption命令按鈕IDC_VOICE_BUTTON&Voice命令按鈕IDC_SHOW_BUTTON&Show命令按鈕IDC_EXTT_BUTTON&Exit6/14/202116(a)InsertResource對(duì)話框(b)選擇Menu項(xiàng)(c)單擊按鈕New,加一菜單資源對(duì)話框中菜單的設(shè)計(jì)插入資源Insert->Resource,顯示nsertResou
7、rce對(duì)話框在資源列表選擇Menu項(xiàng)單擊按鈕New,在資源文件Menu.rc中加一菜單資源。6/14/2021174.給菜單連接一個(gè)類作為一個(gè)對(duì)象,菜單必須與一個(gè)類連接。這個(gè)菜單是對(duì)話框中的一個(gè)資源,將它與對(duì)話框的派生類CMenuDlg相連接。菜單IDR_MENU1連接了一個(gè)類,可調(diào)用該類的成員函數(shù)和成員變量。6/14/2021185.連接菜單和應(yīng)用程序的主窗口為了在主窗口中顯示菜單,菜單還應(yīng)連接主窗口。菜單與主窗口對(duì)話框(即IDD_MENU_DIALOG)的連接:在Menu工作區(qū)的Reso