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