可視化實驗二實現(xiàn)Windows應(yīng)用程序?qū)︽I盤與鼠標(biāo)的響應(yīng)_第1頁
可視化實驗二實現(xiàn)Windows應(yīng)用程序?qū)︽I盤與鼠標(biāo)的響應(yīng)_第2頁
可視化實驗二實現(xiàn)Windows應(yīng)用程序?qū)︽I盤與鼠標(biāo)的響應(yīng)_第3頁
可視化實驗二實現(xiàn)Windows應(yīng)用程序?qū)︽I盤與鼠標(biāo)的響應(yīng)_第4頁
可視化實驗二實現(xiàn)Windows應(yīng)用程序?qū)︽I盤與鼠標(biāo)的響應(yīng)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔傾情為你奉上精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)專心專注專業(yè)精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)Visual C+面向?qū)ο笈c可視化程序設(shè)計實驗二實驗報告一、實驗?zāi)康?、使用API函數(shù)編制包含各種資源的Windows應(yīng)用程序; 2、實現(xiàn)Windows應(yīng)用程序?qū)︽I盤與鼠標(biāo)的響應(yīng)。二、實驗內(nèi)容1、問題描述:(1)創(chuàng)建一個菜單,其中有三個菜單項,分別為“文件”、“計算”和“幫助”,其中,“文件”菜單項包含“打開”、“保存”、“畫圖”、“退出”等菜單選項;“計算”菜單包含“總和”、“方差”、“均方根”等菜單選項;“幫助”菜單項包含“計算總和幫助”、“計算方差幫助”和“計算均方根幫助”以及“關(guān)

2、于”等項 。(2)若單擊“畫圖”菜單項,則繪出P103圖形。若在用戶區(qū)內(nèi)按下鼠標(biāo)左鍵,則動態(tài)創(chuàng)建一個包括“刪除計算總和”、“添加計算平均值”和“修改計算均方差”三個菜單項的彈出式菜單,由此菜單控制“計算”菜單中菜單項刪除、添加與修改。(要求新的彈出式菜單開始時不可用,按下右鍵后變?yōu)榭捎?。?單擊“修改計算均方差”菜單項后,“計算”菜單下的“計算均方差”項改為“線性擬合”,單擊“添加計算平均值”菜單項后,“計算”菜單中添加上了“計算平均值”菜單項 。 (3)將光標(biāo)設(shè)定為自己名字中的某個字、圖標(biāo)設(shè)定為自己名字中的另一個字。 2、應(yīng)用程序中所用到的資源、消息,簡介主要函數(shù)的功能;3、程序?qū)崿F(xiàn) 4、操

3、作結(jié)果三、程序代碼#includewindows.h#includeE葉孫曉.hHMENU hmenu,haddmenu;LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow) HWND hwnd; MSG Msg; HACCEL hAccel; WNDCLASS wndclass; char lpszMenuName=Menu; char lpszClassName=菜

4、單; char lpszTitle=E葉孫曉二; wndclass.style=0; wndclass.lpfnWndProc=WndProc; wndclass.cbClsExtra=0; wndclass.cbWndExtra=0; wndclass.hInstance=hInstance; wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName=lpszMenuName; wndclass.lpszClassName=lpszClassName; if(!RegisterClass

5、(&wndclass) MessageBeep(0); return FALSE; hwnd=CreateWindow( lpszClassName, lpszTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL ); ShowWindow(hwnd,nCmdShow); UpdateWindow(hwnd); hAccel=LoadAccelerators(hInstance,lpszMenuName); while

6、(GetMessage(&Msg,NULL,0,0) if(!TranslateAccelerator(hwnd,hAccel,&Msg) TranslateMessage(&Msg); DispatchMessage(&Msg); return Msg.wParam; LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) static bool draw = false; static bool pingjunzhiadd = true; static bool left = true; HD

7、C hdc; PAINTSTRUCT ps; HPEN hp; HBRUSH hb; switch(message) case WM_COMMAND: switch(LOWORD(wParam) case IDM_EXIT: SendMessage(hwnd,WM_DESTROY,0,0); break; case IDM_fangchamodify: ModifyMenu(hmenu,IDM_fangcha,MF_BYCOMMAND,IDM_nihe,線性擬合); DrawMenuBar(hwnd); break; case IDM_pingjunzhiadd: if(pingjunzhia

8、dd) InsertMenu(hmenu,IDM_junfanggen,MF_BYCOMMAND|MF_ENABLED,IDM_pingjunzhi,平均值); DrawMenuBar(hwnd); pingjunzhiadd = false; break; case IDM_DRAW: hmenu = GetMenu(hwnd); draw = true; break; break; case WM_LBUTTONDOWN: if(left) hmenu=GetMenu(hwnd); haddmenu=CreateMenu(); AppendMenu(haddmenu,MF_GRAYED,I

9、DM_zonghedelete,刪除計算總和); AppendMenu(haddmenu,MF_GRAYED,IDM_fangchamodify,修改計算方差); AppendMenu(haddmenu,MF_GRAYED,IDM_pingjunzhiadd,添加計算平均值); InsertMenu(hmenu,3,MF_POPUP|MF_BYPOSITION,(UINT)haddmenu,修改菜單); DrawMenuBar(hwnd); left = false; break; case WM_RBUTTONDOWN: EnableMenuItem(haddmenu,IDM_zonghed

10、elete,MF_ENABLED); EnableMenuItem(haddmenu,IDM_fangchamodify,MF_ENABLED); EnableMenuItem(haddmenu,IDM_pingjunzhiadd,MF_ENABLED); DrawMenuBar(hwnd); break; case WM_PAINT: if(draw) hdc = BeginPaint (hwnd, &ps); SetMapMode(hdc,MM_TEXT); Rectangle(hdc,130,60,270,200); hb=CreateHatchBrush(HS_CROSS,RGB(25

11、5,0,0); SelectObject(hdc,hb); Ellipse(hdc,130,70,270,190); hp=CreatePen(PS_DASHDOT,1,RGB(0,255,0); SelectObject(hdc,hp); MoveToEx(hdc,100,130,NULL); LineTo(hdc,300,130); MoveToEx(hdc,200,30,NULL); LineTo(hdc,200,230); EndPaint(hwnd,&ps); DeleteObject(hp); DeleteObject(hb); break; case WM_DESTROY: Po

12、stQuitMessage(0); break; default: return DefWindowProc(hwnd,message,wParam,lParam); return 0; 頭文件#define IDM_ADDMENU 14#define IDM_DELMENU 16#define IDM_OPEN 11#define IDM_SAVE 13#define IDM_lcw 17#define IDM_DRAW 12#define IDM_EXIT 15 #define IDM_zonghe 18 #define IDM_fangcha 19 #define IDM_junfang

13、gen 21 #define IDM_zonghehelp 22 #define IDM_fangchahelp 23 #define IDM_junfanggenhelp 24 #define IDM_ABOUT 20#define IDM_zonghedelete 30#define IDM_fangchamodify 31#define IDM_pingjunzhiadd 32#define IDM_nihe 33#define IDM_pingjunzhi 34 資源文件/Microsoft Developer Studio generated resource script./#in

14、clude resource.h#define APSTUDIO_READONLY_SYMBOLS/ Generated from the TEXTINCLUDE 2 resource./#include afxres.h#includewindows.h#includeE葉孫曉.hE ICON D:E二E.ICOE CURSOR D:E二E.CURMenu MENU DISCARDABLE POPUP文件(&F) MENUITEM打開(&O)tCtrl+O, IDM_OPEN MENUITEM畫圖(&G), IDM_DRAW MENUITEM保存(&S), IDM_SAVE MENUITEM

15、另存為(&A), IDM_lcw MENUITEM SEPARATOR MENUITEM退出(&X), IDM_EXIT POPUP計算(&C) MENUITEM計算總和(&S), IDM_zonghe MENUITEM計算方差(&D), IDM_fangcha MENUITEM線性擬合, IDM_junfanggen POPUP幫助(&H) MENUITEM計算總和的幫助, IDM_zonghehelp MENUITEM計算方差的幫助, IDM_fangchahelp MENUITEM計算均方根的幫助, IDM_junfanggenhelp MENUITEM SEPARATOR MENUIT

16、EM關(guān)于(&A), IDM_ABOUT /#undef APSTUDIO_READONLY_SYMBOLS/ Chinese (中國) resources#if !defined(AFX_RESOURCE_DLL) | defined(AFX_TARG_CHS)#ifdef _WIN32LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED#pragma code_page(936)#endif /_WIN32#ifdef APSTUDIO_INVOKED/ TEXTINCLUDE/1 TEXTINCLUDE DISCARDABLE BEGIN re

17、source.h0END2 TEXTINCLUDE DISCARDABLE BEGIN #include afxres.hrn #includewindows.hrn #includeE葉孫曉.hrn E ICON D:E二E.ICOrn E CURSOR D:E二E.CURrn Menu MENU DISCARDABLErn rn POPUP文件(&F)rn rn MENUITEM打開(&O)tCtrl+O, IDM_OPEN rn MENUITEM畫圖(&G), IDM_DRAW rn MENUITEM保存(&S), IDM_SAVE MENUITEM另存為(&A), IDM_lcw ME

18、NUITEM SEPARATORrn MENUITEM退出(&X), IDM_EXITrn rn rn POPUP計算(&C)rn rn MENUITEM計算總和(&S), IDM_zonghe rn MENUITEM計算方差(&D), IDM_fangcharn MENUITEM線性擬合, IDM_junfanggenrn rn rn POPUP幫助(&H)rn rn MENUITEM計算總和的幫助, IDM_zonghehelprn MENUITEM計算方差的幫助, IDM_fangchahelprn MENUITEM計算均方根的幫助, IDM_junfanggenhelprn MENUITEM SEPARATORrn MENUITEM關(guān)于(&A), IDM_ABOUTrn 0END3 TEXTINCLUDE DISCARDABLE BEGIN rn 0EN

溫馨提示

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

最新文檔

評論

0/150

提交評論