資源描述:
《MFC實(shí)驗(yàn)五菜單工具欄和狀態(tài)欄.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、菜單、工具欄和狀態(tài)欄實(shí)驗(yàn)步驟:01.利用MFCAppWizard[exe]創(chuàng)建SDI應(yīng)用程序,項(xiàng)目名為wx203_1。02.單擊項(xiàng)目工作區(qū)窗口下的ResourseView標(biāo)簽,打開(kāi)資源列表。展開(kāi)Menu,雙擊Menu下的IDR_MAINFRAME即可打開(kāi)菜單編輯器,如圖所示。03.為程序添加頂層菜單項(xiàng)。雙擊菜單編輯器中具有虛線的空白框,打開(kāi)菜單屬性對(duì)話框,如圖所示。在Caption中輸入菜單項(xiàng)標(biāo)題“畫(huà)圖[&D]”。04.為頂層菜單添加下拉菜單。在菜單編輯器中單擊“畫(huà)圖[&D]”,雙擊下方的新菜單項(xiàng)框,彈出菜單屬性對(duì)話框。在ID框中輸入ID_DRAW_ELLIPSE,在Caption框中輸入菜單
2、項(xiàng)標(biāo)題“橢圓[&E]tCtrl+E”。在Prompt框中輸入次菜單的提示信息“在視圖窗口畫(huà)一個(gè)橢圓畫(huà)橢圓”。01.重復(fù)第03、04步,設(shè)計(jì)的菜單如圖所示。各菜單項(xiàng)的ID值如表所示:菜單ID各菜單項(xiàng)的ID值ID_DRAW_ELLIPSE橢圓[&E]tCtrl+EID_DRAW_TRIANGLE三角形[&T]ID_DRAW_RECTANGLE矩形[&R]ID_COLOR_RED紅色[&R]ID_COLOR_GREEN綠色[&G]ID_COLOR_BLUE藍(lán)色[&B]ID_COLOR_CUSTOM自定義...02.添加消息處理函數(shù)。在視圖類(lèi)CWx203_1View的定義中添加如下的數(shù)據(jù)成員:
3、在視圖類(lèi)CWx203_1View的構(gòu)造函數(shù)中對(duì)數(shù)據(jù)成員進(jìn)行初始化:按下Ctrl+W打開(kāi)ClassWizard對(duì)話框,選中MessageMaps標(biāo)簽,在Classname中選擇類(lèi)名CWx203_1View,在ObjectsIds下選擇ID_DRAW_ELLIPSE,在Messages框中選擇COMMAND,單擊AddFunction為橢圓菜單添加消息處理函數(shù),單擊EditCode按鈕打開(kāi)代碼編輯窗口,編輯消息處理函數(shù):同樣為其它菜單添加WM_COMMAND消息處理函數(shù)如下:編輯視圖類(lèi)OnDraw函數(shù),在其中添加如下代碼:編譯、鏈接和運(yùn)行程序,如下圖所示:01.為“畫(huà)圖”下拉菜單添加用戶界面更新處
4、理函數(shù)。在Messages列表框中選擇UPDATE_COMMAND_UI。用戶界面更新處理函數(shù)如下:02.單擊項(xiàng)目工作窗口下的ResourceView標(biāo)簽,打開(kāi)資源列表。展開(kāi)Accelerator,雙擊IDR_MAINFRAME,打開(kāi)快捷鍵編輯器。雙擊空白處,選中“橢圓”的ID值為ID_DRAW_ELLIPSE,在Key中輸入E,在Modifiers中選中Ctrl,則橢圓的快捷鍵為Ctrl+E。03.添加“顏色”的快捷菜單。在視圖類(lèi)中添加消息WM_CONTEXTMENU的處理函數(shù),在函數(shù)中添加如下代碼:運(yùn)行時(shí),當(dāng)在視圖窗口中右擊鼠標(biāo)時(shí),彈出快捷菜單,如圖所示:01.通過(guò)編程增加兩個(gè)菜單“縮放”
5、和“修改菜單”。單擊項(xiàng)目工作窗口下的FileView標(biāo)簽,展開(kāi)SourceFiles,雙擊Resource.h打開(kāi)資源頭文件,在其中添加如下語(yǔ)句:創(chuàng)建兩個(gè)子菜單,并將其添加到頂層菜單中。在CmainFrame類(lèi)的OnCreate成員函數(shù)中添加如下代碼:為子菜單項(xiàng)添加命令處理函數(shù)。對(duì)于通過(guò)編程創(chuàng)建的菜單項(xiàng),只能手工添加消息處理函數(shù)。打開(kāi)CWx203_1View.h,在其中找到DECLARE_MESSAGE_MAP,在DECLARE_MESSAGE_MAP之上、注釋//}}AFX_MSG之下添加消息處理函數(shù)模型:再打開(kāi)CWx203_1View.cpp文件,在BEGIN_MESSAGE_MAP和EN
6、D_MESSAGE_MAP()之間添加消息映射項(xiàng)。在視圖類(lèi)的實(shí)現(xiàn)文件CWx203_1View.cpp中添加消息處理函數(shù)的函數(shù)體如下:修改視圖類(lèi)OnDraw以適應(yīng)菜單的變化。在CWx203_1View類(lèi)的定義中增加一個(gè)int數(shù)據(jù)成員m_nFlags,用于記錄執(zhí)行創(chuàng)建菜單“縮放”的情況,并在構(gòu)造函數(shù)黃總將其初始化為0。修改OnDraw,增加如下代碼:編譯、鏈接和運(yùn)行程序,結(jié)果如下:01.創(chuàng)建一個(gè)英文的菜單資源,并允許在中英文之間進(jìn)行切換。在項(xiàng)目工作窗口選中ResourceView標(biāo)簽,打開(kāi)資源菜單,增加頂層菜單命令“英文”,并取消Pop-up屬性,指定其ID值為ID_ENGLISH,Caption
7、為英文。單擊項(xiàng)目工作窗的ResourceView標(biāo)簽,在窗口中右擊Menu,選擇InsertMenu命令,插入新的菜單資源。右擊插入的資源ID,選擇Properties命令,ID修改為IDR_ENGLISH。添加如下圖所示的菜單,為了與中文菜單共用相同的菜單命令處理函數(shù),各對(duì)應(yīng)菜單的ID應(yīng)與IDR_MAINFRAME中的菜單ID相同。取消菜單明林CHINESE的Pop-up屬性,ID值為ID_CH