版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025安拆分公司合同管理制度
- 二零二五年度解除勞動合同經(jīng)濟(jì)補(bǔ)償金核算與員工培訓(xùn)協(xié)議3篇
- 二零二五年度股權(quán)協(xié)議書大全:股權(quán)投資風(fēng)險控制協(xié)議3篇
- 二零二五年度子女對父母生活照料與醫(yī)療看護(hù)綜合服務(wù)協(xié)議2篇
- 2025年度連鎖藥店品牌授權(quán)與轉(zhuǎn)讓協(xié)議書3篇
- 二零二五年度新型醫(yī)療設(shè)備價格保密合同3篇
- 2025年度股東退出與知識產(chǎn)權(quán)轉(zhuǎn)讓協(xié)議2篇
- 二零二五年度農(nóng)業(yè)科技企業(yè)員工勞動合同規(guī)范模板2篇
- 2025年度智能車庫租賃合同模板(含車位租賃與停車場環(huán)境改善)3篇
- 2025年度新能源發(fā)電項目轉(zhuǎn)讓合同2篇
- 《電力設(shè)備消防典型準(zhǔn)則》(DL5027-2022)
- MHT:中小學(xué)生心理健康檢測(含量表與評分說明)
- 企業(yè)戰(zhàn)略管理顧問聘用合同
- 貴州壯麗山水文化之旅
- 遼寧省朝陽市朝陽縣2023-2024學(xué)年九年級上學(xué)期期末數(shù)學(xué)試題
- 2023-2024學(xué)年山東省臨沂市蘭山區(qū)部分學(xué)校數(shù)學(xué)九年級第一學(xué)期期末統(tǒng)考模擬試題含解析
- 新譯林版五年級上冊各單元教學(xué)反思(文本版本)(共5則)
- 吞咽困難與認(rèn)知功能的關(guān)系探討
- 醫(yī)共體信息系統(tǒng)(HIS)需求說明
- GB/T 13894-2023石油和液體石油產(chǎn)品液位測量手工法
- 胰島素抵抗與神經(jīng)系統(tǒng)疾病的關(guān)系
評論
0/150
提交評論