




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——可視化試驗(yàn)二
成績(jī)?cè)囼?yàn)二
學(xué)號(hào):班級(jí):姓名:
一、試驗(yàn)內(nèi)容
1.創(chuàng)立一個(gè)菜單,其中有三個(gè)菜單項(xiàng),分別為“文件〞、“計(jì)算〞和“幫助〞,其中,“文件〞菜單項(xiàng)包含“開(kāi)啟〞、“保存〞、“畫(huà)圖〞、“退出〞等菜單項(xiàng)選擇項(xiàng);“計(jì)算〞菜單包含“總和〞、“方差〞、“均方根〞等菜單項(xiàng)選擇項(xiàng);“幫助〞菜單項(xiàng)包含“計(jì)算總和幫助〞、“計(jì)算方差幫助〞和“計(jì)算均方根幫助〞以及“關(guān)于〞等項(xiàng)。
2.若單擊“畫(huà)圖〞菜單項(xiàng),則繪出P103圖形。3.若在用戶區(qū)內(nèi)按下鼠標(biāo)左鍵,則動(dòng)態(tài)創(chuàng)立一個(gè)包括“刪除計(jì)算總和〞、“添加計(jì)算平均值〞和“修改計(jì)算均方差〞三個(gè)菜單項(xiàng)的彈出式菜單,由此菜單控制“計(jì)算〞菜單中菜單項(xiàng)刪除、添加與修改。(要求新的彈出式菜單開(kāi)始時(shí)不可用,按下右鍵后變?yōu)榭捎谩#﹩螕簟靶薷挠?jì)算均方差〞菜單項(xiàng)后,“計(jì)算〞菜單下的“計(jì)算均方差〞項(xiàng)改為“線性擬合〞,單擊“添加計(jì)算平均值〞菜單項(xiàng)后,“計(jì)算〞菜單中添加上了“計(jì)算平均值〞菜單項(xiàng)。?4.將光標(biāo)設(shè)定為自己名字中的某個(gè)字、圖標(biāo)設(shè)定為自己名字中的另一個(gè)字。二、試驗(yàn)儀器電腦一臺(tái)
三、試驗(yàn)原理(主要程序代碼及解釋)1、創(chuàng)立菜單:
?????
定義菜單:在資源描述文件中定義。POPUP語(yǔ)句,并可以包含子菜單。在頭文件中定義菜單項(xiàng)標(biāo)識(shí)所對(duì)應(yīng)的數(shù)值。
加載菜單資源。在窗口類中加載菜單:wcex.lpszMenuName
動(dòng)態(tài)的創(chuàng)立菜單:調(diào)用CreatMenu創(chuàng)立空的彈出式菜單,調(diào)用AppendMenu插入菜單項(xiàng)阻止和激活菜單項(xiàng)MF_ENABLED、MF_GRAYED
修改菜單項(xiàng):ModifyMenu(hmenu,IDM_FANGCHA,MF_BYCOMMAND,IDM_nihe,\線性擬合\);
2、畫(huà)圖:WM_PAINT
3、鼠標(biāo)點(diǎn)擊事件:WM_LBUTTONDOWN、WM_RBUTTONDOWN4、光標(biāo)和圖標(biāo):?創(chuàng)立資源ico、cur
?在cpp文件中調(diào)用wcex.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));
5、代碼:final.cpp#include\#include\
#defineMAX_LOADSTRING100HMENUhmenu,haddmenu;
HINSTANCEhInst;
TCHARszTitle[MAX_LOADSTRING];ATOMBOOL
TCHARszWindowClass[MAX_LOADSTRING];
MyRegisterClass(HINSTANCEhInstance);InitInstance(HINSTANCE,int);
About(HWND,UINT,WPARAM,LPARAM);
LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);INT_PTRCALLBACK
intAPIENTRY_tWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPTSTRlpCmdLine,intnCmdShow){}
ATOMMyRegisterClass(HINSTANCEhInstance){
wcex.style
=CS_HREDRAW|CS_VREDRAW;
wcex.cbSize=sizeof(WNDCLASSEX);WNDCLASSEXwcex;return(int)msg.wParam;
hAccelTable=LoadAccelerators(hInstance,MAKEINTRESOURCE(IDC_FINAL));while(GetMessage(DispatchMessage(
UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(lpCmdLine);MSGmsg;
HACCELhAccelTable;
LoadString(hInstance,IDS_APP_TITLE,szTitle,MAX_LOADSTRING);LoadString(hInstance,IDC_FINAL,szWindowClass,MAX_LOADSTRING);MyRegisterClass(hInstance);
if(!InitInstance(hInstance,nCmdShow)){}
returnFALSE;
}
wcex.lpfnWndProc=WndProc;wcex.cbClsExtrawcex.cbWndExtrawcex.hInstancewcex.hIcon
wcex.hCursor
=0;=0;
=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));
=hInstance;
=LoadCursor(hInstance,MAKEINTRESOURCE(IDC_CURSOR2));
wcex.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);wcex.lpszMenuName=MAKEINTRESOURCE(IDC_FINAL);wcex.lpszClassName=szWindowClass;wcex.hIconSm
=LoadIcon(wcex.hInstance,MAKEINTRESOURCE(IDI_ICON1));
returnRegisterClassEx(
BOOLInitInstance(HINSTANCEhInstance,intnCmdShow){
HWNDhWnd;
hInst=hInstance;
hWnd=CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if(!hWnd){
returnFALSE;}
ShowWindow(hWnd,nCmdShow);UpdateWindow(hWnd);
returnTRUE;}
LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam){
staticbooldraw=false;staticboolleft=true;
staticboolADDAVERAGE=true;intwmEvent;PAINTSTRUCTps;HDChdc;HBRUSHhBrush;HPENhPen;
//HMENUhmenu,haddmenu;
switch(message){
caseWM_COMMAND:
wmEvent=HIWORD(wParam);switch(LOWORD(wParam)){
caseIDM_MFANGCHA:
ModifyMenu(hmenu,IDM_FANGCHA,MF_BYCOMMAND,IDM_nihe,\線性擬合\);
DrawMenuBar(hWnd);break;
caseIDM_ADDAVERAGE:
if(ADDAVERAGE){
InsertMenu(hmenu,IDM_JUNFANGGEN,MF_BYCOMMAND|MF_ENABLED,IDM_AVERAGE,\平均值\);DrawMenuBar(hWnd);}ADDAVERAGE=false;break;
caseIDM_ABOUT:
DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);break;
caseIDM_DRAW:
hmenu=GetMenu(hWnd);draw=true;break;
caseWM_LBUTTONDOWN:if(left)
{hmenu=GetMenu(hWnd);haddmenu=CreateMenu();AppendMenu(haddmenu,MF_GRAYED,IDM_DZONGHE,\刪除計(jì)算總和\);AppendMenu(haddmenu,MF_GRAYED,IDM_MFANGCHA,\修改計(jì)算方差\);AppendMenu(haddmenu,MF_GRAYED,IDM_ADDAVERAGE,\添加計(jì)算平均值\);
caseIDM_EXIT:}break;
DestroyWindow(hWnd);break;
returnDefWindowProc(hWnd,message,wParam,lParam);
default:
InsertMenu(hmenu,3,MF_POPUP|MF_BYPOSITION,(UINT)haddmenu,\修改菜單\);DrawMenuBar(hWnd);}
left=false;break;
caseWM_RBUTTONDOWN:
EnableMenuItem(haddmenu,IDM_DZONGHE,MF_ENABLED);EnableMenuItem(haddmenu,IDM_MFANGCHA,MF_ENABLED);EnableMenuItem(haddmenu,IDM_ADDAVERAGE,MF_ENABLED);DrawMenuBar(hWnd);break;
caseWM_PAINT:
if(draw){
hdc=BeginPaint(hWnd,
SetMapMode(hdc,MM_TEXT);
Rectangle(hdc,150,50,300,200);
hBrush=CreateHatchBrush(HS_CROSS,RGB(255,0,0));SelectObject(hdc,hBrush);Ellipse(hdc,150,60,300,190);
hPen=CreatePen(PS_DASHDOT,1,RGB(0,255,0));SelectObject(hdc,hPen);MoveToEx(hdc,100,125,NULL);LineTo(hdc,350,125);
MoveToEx(hdc,225,30,NULL);LineTo(hdc,225,220);}
INT_PTRCALLBACKAbout(HWNDhDlg,UINTmessage,WPARAMwParam,LPARAMlParam){
UNREFERENCED_PARAMETER(lParam);switch(message){
caseWM_INITDIALOG:}return0;
EndPaint(hWnd,}break;
PostQuitMessage(0);break;
returnDefWindowProc(hWnd,message,wParam,lParam);
caseWM_DESTROY:
default:
}
return(INT_PTR)TRUE;
caseWM_COMMAND:}
return(INT_PTR)FALSE;
if(LOWORD(wParam)==IDOK||LOWORD(wParam)==IDCANCEL){}break;
EndDialog(hDlg,LOWORD(wParam));return(INT_PTR)TRUE;
Resource.h
#defineIDC_MYICON2#defineIDD_FINAL_DIALOG102#defineIDS_APP_TITLE103#defineIDD_ABOUTBOX103#defineIDM_ABOUT104#defineIDM_EXIT105#defineIDC_FINAL109#defineIDR_MAINFRAME128#defineIDC_CURSOR2133#defineIDI_ICON1134#defineID_Menu32772#defineIDM_OPEN32773#defineIDM_SAVE32774#defineID_Menu3277532775#defineIDM_DRAW32777#defineID_Menu3277832778#defineIDM_HCZ32779#defineIDM_HCF32781#defineIDM_HCJ32783#defineID_Menu3278632786#defineIDM_FANGCHA32790#defineIDM_ZONGHE32791#defineIDM_JUNFANGGEN32792#defineIDC_STATIC-1#defineIDM_DZONGHE10#defineIDM_MFANGCHA11#defineIDM_ADDAVERAGE12#defineIDM_nihe13
#defineIDM_AVERAGE14#ifdefAPSTUDIO_INVOKED
#ifndefAPSTUDIO_READONLY_SYMBOLS
#define_APS_NO_MFC1#define_APS_NEXT_RESOURCE_VALUE135#define_APS_NEXT_COMMAND_VALUE32793#define_APS_NEXT_CONTROL_VALUE1000#define_APS_NEXT_SYMED_VALUE110#endif#endifRC文件
#include\
#defineAPSTUDIO_READONLY_SYMBOLS#ifndefAPSTUDIO_INVOKED#include\#endif
#defineAPSTUDIO_HIDDEN_SYMBOLS#include\
#undefAPSTUDIO_HIDDEN_SYMBOLS#undefAPSTUDIO_READONLY_SYMBOLS
#if!defined(AFX_RESOURCE_DLL)||defined(AFX_TARG_CHS)LANGUAGELANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIEDIDI_ICON1ICON\IDC_FINALMENUBEGIN
POPUP\文件(&F)\BEGIN
MENUITEM\開(kāi)啟(&O)\,IDM_OPENMENUITEM\保存(&S)\,IDM_SAVEMENUITEM\畫(huà)圖(&D)\,IDM_DRAWMENUITEM\退出(&X)\,IDM_EXITEND
POPUP\計(jì)算(&C)\BEGIN
MENUITEM\總和(&Z)\,IDM_ZONGHEMENUITEM\方差(&N)\,IDM_FANGCHAMENUITEM\均方根(&J)\,IDM_JUNFANGGENEND
POPUP\幫助(&H)\BEGIN
MENUITEM\計(jì)算總和幫助\,IDM_HCZMENUITEM\計(jì)算方差幫助\,IDM_HCFMENUITEM\計(jì)算均方根幫助\,IDM_HCJMENUITEM\關(guān)于(&A)...\,IDM_ABOUTENDEND
IDC_FINALACCELERATORS
BEGIN
\,IDM_ABOUT,ASCII,ALT\,IDM_ABOUT,ASCII,ALTEND
IDD_ABOUTBOXDIALOGEX0,0,170,62
STYLEDS_SETFONT|DS_MODALFRAME|DS_FIXEDSYS|WS_POPUP|WS_CAPTION|WS_SYSMENUCAPTION\關(guān)于final\
FONT9,\,0,0,0x1BEGIN
ICON128,IDC_STATIC,14,14,21,20
LTEXT\,ê?1.0版??\,IDC_STATIC,42,14,114,8,SS_NOPREFIXLTEXT\,ID
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 漁船租賃業(yè)務(wù)合同協(xié)議
- 銀行信托計(jì)劃保管合同模板
- 供港農(nóng)產(chǎn)品購(gòu)銷(xiāo)合同代理協(xié)議(樣本)
- 國(guó)有林權(quán)出讓合同
- 畢業(yè)生實(shí)習(xí)與勞動(dòng)合同解析
- 渠道合作銷(xiāo)售合同范本
- 合同法視角:股東不履行義務(wù)糾紛案例分析
- 新車(chē)銷(xiāo)售團(tuán)隊(duì)心理素質(zhì)訓(xùn)練考核試卷
- 木制拼圖游戲考核試卷
- 世界音樂(lè)教育項(xiàng)目的策劃與實(shí)施考核試卷
- 免疫性血小板減少性紫癜36張課件
- 10-化學(xué)動(dòng)力學(xué)基礎(chǔ)-1-考研試題資料系列
- 工傷保險(xiǎn)待遇核定表(樣表)
- DB33- 1015-2021《居住建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)》
- DB1310T 225-2020 木本植物滯納空氣顆粒物能力測(cè)定方法
- (高職)國(guó)際金融(第四版)電子課件(全套)
- 《飲料工藝學(xué)》課件第一章-緒論
- 中外合作辦學(xué)的可行性報(bào)告
- 母嬰保健課程標(biāo)準(zhǔn)
- 《農(nóng)民專業(yè)合作社登記管理?xiàng)l例》條文解讀(一
- 一年級(jí)的小豌豆我喜歡的一本書(shū)(課堂PPT)
評(píng)論
0/150
提交評(píng)論