資源描述:
《實(shí)驗(yàn)四資源菜單工具欄和狀態(tài)欄》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、實(shí)驗(yàn)五.資源菜單、工具欄和狀態(tài)欄1.實(shí)驗(yàn)?zāi)康恼莆詹藛钨Y源的訪問(wèn),添加和消息響應(yīng)響應(yīng);資源菜單對(duì)應(yīng)加速鍵的添加、快捷工具欄的添加。2.實(shí)驗(yàn)裝置機(jī)房3.實(shí)驗(yàn)內(nèi)容1)建立Win32Application項(xiàng)目文件:Hello添加鍵盤(pán)消息處理功能,判斷當(dāng)前按下的鍵是不是A或a鍵,并給出相應(yīng)的提示。2)建立MFCAPPwizard(.exe)項(xiàng)目,添加菜單資源和與菜單資源相關(guān)聯(lián)的工具欄選項(xiàng),設(shè)置加速鍵。具體步驟如下:(1)建立單文檔在一級(jí)菜單屮添加了“字體顏色”的菜單項(xiàng),其下創(chuàng)建子菜單項(xiàng)ID_ColorRed和ID
2、_ColorGre兩個(gè)菜單項(xiàng),請(qǐng)為其設(shè)賈加速鍵為Ctrl+R和Ctrl+G。并在工具欄添加其對(duì)應(yīng)的快捷工具選項(xiàng)。....編輯快捷工具選項(xiàng)s文件(Z)編輯⑥查看⑺插人a)工程定)組建⑻圖像㈣工具①窗口⑴幫助01)2▼二,CIS哿%mnlD二《▼
3、
4、(Allclassmembers],
5、
6、>OnUpdateOperShow參繼
7、2da^menu2resource:.□AcceleratorfoDialogfIcon?oMenu’□StringTable十a(chǎn)ToolbarI1a
8、lDR-MAINFR
9、AME,由□Version...建立響應(yīng),雙擊工具圖標(biāo)CMenu2Viewmembers▼?OnUpdateOperShowB^menu2resource:?oAcceleralor?<3l)ialog因oIcontoMenuringTable爭(zhēng)亡Toolbar^
10、1DR^MAINFRAME‘□Version工具e按鈕居性X呀常規(guī)1ID:[lD_ColorRed
11、zJ寬度間:卜6高度0U:
12、15提示(M):「....添加快捷鍵,在資源屮打開(kāi)“Accelerator”的最后兩欄為ID_ColorRed和I
13、D_ColorGre兩個(gè)菜單項(xiàng)添加加速鍵,并為其分別設(shè)罝快捷鍵為Ctrl+R和Ctrl+G。....消息響應(yīng)編輯。3)川資源編輯器和MFC庫(kù)的CMenu::TrackPopupMenu函數(shù)創(chuàng)建快捷菜単?,即當(dāng)用戶(hù)按下鼠標(biāo)右鍵時(shí),就會(huì)相應(yīng)地彈出一個(gè)浮動(dòng)菜單,其中提供了兒個(gè)與當(dāng)前選擇內(nèi)容相關(guān)的選項(xiàng)。...因?yàn)榭旖莶藛问窃谝曢w區(qū)的鼠標(biāo)操作,故在視圖類(lèi)屮添加代碼。創(chuàng)建一個(gè)默認(rèn)的單文檔應(yīng)用程序Ex_ContextMenuo用MFCClassWizard在CEx_ContextMenuView類(lèi)添加WM_CONTE
14、XTMENU消息映射,并在映射函數(shù)中添加T列代碼:voidCEx_ContextMenuView::OnContextMenu(CWnd*pWnd,CPointpoint){CMainFrame*pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;//獲得主會(huì)門(mén)指針CMenu*pSysMenu=pFrame->GetMenu();//獲得程序窗口菜華指針intnCount=pSysMenu->GetMenuItemCount();//獲得頂層菜單個(gè)數(shù)intnSubMe
15、nuPos=-1;for(inti=0;iGetSubMenu(nSubMenuPos)->TrackPopupMenu(TPM_LEFTALIGN
16、TFM_RIGHTBUTT
17、ON,point.x,point.y,this);}...在Ex_ContextMenuView.cpp文件的前曲添加CMainFrame類(lèi)的文件包含:#include"Ex_ContextMenuView.hM#include"MainFrm.h"...運(yùn)行程序4)MFC的CStatusBar類(lèi)封裝了狀態(tài)欄的大部分操作,包括增減窗格、在狀態(tài)欄屮顯示文本、改變狀態(tài)欄的風(fēng)格和大小等。狀態(tài)欄中的窗格可以分為信息行窗格和指示器窗格兩類(lèi)若在狀態(tài)欄中增加一個(gè)信息行窗格,則只需在indicators數(shù)組中的適當(dāng)位置
18、中增加一個(gè)1D_SEPARATOR標(biāo)識(shí)即可;若在狀態(tài)欄中增加一個(gè)用戶(hù)指示器窗格,則在indicators數(shù)組中的適當(dāng)位置增加一個(gè)在字符串表屮定義過(guò)的資源ID。將鼠標(biāo)在窗口客戶(hù)區(qū)的位置顯示在狀態(tài)欄上⑻創(chuàng)建一個(gè)默認(rèn)的單文檔應(yīng)用程序Ex_SDIMouse。(b)將項(xiàng)目工作區(qū)切換到ClassView頁(yè)謝,展開(kāi)CMainFrame所有項(xiàng),雙擊構(gòu)造函數(shù)CMainFrame,在文檔窗口中出現(xiàn)該函數(shù)的定義,在它的前面就是狀態(tài)欄數(shù)組的定義。(c)將狀態(tài)欄in