Visual-C++基礎(chǔ)入門教程-第7課:創(chuàng)建菜單(共5頁(yè))_第1頁(yè)
Visual-C++基礎(chǔ)入門教程-第7課:創(chuàng)建菜單(共5頁(yè))_第2頁(yè)
Visual-C++基礎(chǔ)入門教程-第7課:創(chuàng)建菜單(共5頁(yè))_第3頁(yè)
Visual-C++基礎(chǔ)入門教程-第7課:創(chuàng)建菜單(共5頁(yè))_第4頁(yè)
Visual-C++基礎(chǔ)入門教程-第7課:創(chuàng)建菜單(共5頁(yè))_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上Windows窗口一般都帶有一個(gè)菜單欄,包含了許多操作命令,這種菜單稱為下拉式菜單,單擊一個(gè)菜單會(huì)彈出一個(gè)下拉列表菜單項(xiàng),單擊菜單項(xiàng)就可以選擇這個(gè)命令;菜單欄中第一個(gè)一般是“文件”最后一個(gè)是“幫助”,我們通過一個(gè)例子來學(xué)習(xí)如何在自己的窗口中添加菜單;1、菜單屬于一種資源,因此在資源文件中定義,同時(shí)菜單是分級(jí)的,如果菜單項(xiàng)右側(cè)帶有一個(gè)小黒三角按鈕,就表示包含下一級(jí)菜單;2、啟動(dòng)VC,新建一個(gè)名為Menu的Win32 Application工程,再新建一個(gè)相同名稱的頭文件和源程序文件,在頭文件中輸入函數(shù)的申明,在源程序中輸入窗口框架代碼(輸好多遍了吧?)Menu.h代碼如

2、下:/函數(shù)原型申明LRESULT /菜單標(biāo)識(shí)符#define IDM_NEW 201/新建/退出/編輯菜單#define IDM_EDITCOPY 211/復(fù)制/粘貼/幫助菜單#define IDM_ABOUT 221/關(guān)于#define IDM_EDITPASTE 212#define IDM_EXIT 202APIENTRY MainWndProc(HWND,UINT,WPARAM,LPARAM);BOOL InitApplication(HINSTANCE);BOOL InitInstance(HINSTANCE,int);在源程序Menu.cpp里的InitApplication函數(shù)中

3、加入使用菜單代碼,修改其中一句,加入資源文件中定義的菜單標(biāo)識(shí)符wcexMenuApp.lpszMenuName =MenuAppMenu;3、啟動(dòng)記事本,單擊保存命令,保存在Menu文件夾中,文件名為Menu.rc類型為“所有文件”,即新建一個(gè)資源文件,輸入菜單的代碼,菜單由一對(duì)BEGIN和END定義一個(gè)菜單列表,菜單列表的表頭用POPUP定義,代碼如下:#include Menu.h/要用頭文件中申明的標(biāo)識(shí)符/ 下面定義菜單資源/菜單標(biāo)識(shí)符BEGIN POPUP 文件(&F) BEGIN MENUITEM 新建(&N), IDM_NEW MENUITEM SEPARATOR/分隔條 MENU

4、ITEM 退出(&X), IDM_EXIT END POPUP 編輯(&E) BEGIN MENUITEM 復(fù)制(&C), IDM_EDITCOPY MENUITEM SEPARATOR MENUITEM 粘貼(&P), IDM_EDITPASTE, GRAYEDMENUAPPMENU MENU DISCARDABLE /開始是灰色的,不可用 END POPUP 幫助(&H) BEGIN MENUITEM 關(guān)于(&A).tF1, IDM_ABOUT ENDEND保存一下文件,然后關(guān)閉記事本,在VC窗口中單擊“工程”菜單選擇“添加工程”“Files.”,選擇其中的資源文件Menu.rc單擊“確定

5、”,把資源文件加入工程當(dāng)中;4、單擊菜單時(shí)會(huì)發(fā)送一個(gè)命令消息,下面再加入消息處理過程的代碼(綠色雙斜杠部分是注釋),有的一行太長(zhǎng)會(huì)自動(dòng)折到下一行,代碼如下:LRESULT APIENTRY MainWndProc( HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam) static CHAR szBuf20;/標(biāo)題文字字符串 HDC hdc;/設(shè)備描述表 PAINTSTRUCT ps;/繪圖對(duì)象 /新建菜單的切換 /封面顯示 CH/處理菜單命令的消息 /取低位字節(jié)判斷 /新建命令 InvalidateRect(hWnd,NULL,TRUE);/

6、更新整個(gè)屏幕區(qū)域 hdc=BeginPaint(hWnd,&ps); SetTextColor(hdc, RGB(255,255,0); SetBk/背景模式為透明背景; if (bNew)/新建換一句話 /退出命令 DestroyWindow(hWnd); /復(fù)制命令 Enable/粘貼命令 /關(guān)于命令 /n是輸入一個(gè)回車 break; default: return (DefWindowProc(hWnd,message,wParam,lParam); return(0); break; default: return(DefWindowProc(hWnd,message,wParam,l

7、Param); break; case WM_DESTROY: PostQuitMessage(0); MessageBox(hWnd,n創(chuàng)建菜單的示范程序! nn編寫:劉桂明 2004.8,關(guān)于,MB_OK|MB_ICONINFORMATION);MessageBox(NULL,“粘貼”命令的演示。 , 提示 , MB_OK|MB_ICONINFORMATION); break; case IDM_ABOUT:MenuItem(GetMenu(hWnd), IDM_EDITPASTE,MF_BYCOMMAND|MF_ENABLED); break; case IDM_EDITPASTE:br

8、eak; case IDM_EDITCOPY:break; case IDM_EXIT:/輸出一句話 TextOut(hdc,80,60,千山萬水,在哪兒?,lstrlen(千山萬水,在哪兒?); else TextOut(hdc,80,60,萬水千山,在這里!,lstrlen(萬水千山,在這里!); EndPaint(hWnd,&ps); bNew=!bNew;Mode(hdc,TRANSPARENT);case IDM_NEW:switch(LOWORD(wParam)AR szText=請(qǐng)選擇一個(gè)菜單項(xiàng)。; hdc=BeginPaint(hWnd,&ps); TextOut(hdc,80,40,szText,lstrlen(szText); TextOut(hdc,100,60,美麗心情! ,lstrlen(美麗心情! ); EndPaint(hWnd,&ps); break; case WM_COMMAND:switch(message) case WM_PAINT:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論