资源描述:
《可视化实验二》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验二学号:班级:姓名:一、实验内容1.创建一个菜单,其中有三个菜单项,分别为"文件〃、"计算"和"帮助〃,其中,"文件〃菜单项包含〃打开〃、"保存〃、"画图〃、"退出〃等菜单选项;"计算〃菜单乜含"总和"、"方差"、"均方根〃等菜单选项;"帮助"菜单项包含"计算总和帮助〃、"计算方差帮助〃和"计算均方根帮助"以及"关于"等项。2.若单击"画图"菜单项,则绘出PW3图形。3.若在用户区内按下鼠标左键,则动态创逑一个包括"删除计算总和"、"添加计算平均值〃和"修改计算均方差"三个菜单项的弹出式菜单,山此菜单控制"计算〃菜单中菜单项删除、添加与修改。(耍求新的弹ili式菜单开始时不可用,按下右
2、键后变为可用。)单缶"修改汁算均方差"菜单项r;,"汁算"菜单下的"汁算均方差"项改为"线性拟合",单击"添加计算甲•均值〃菜单项后,"计算〃菜单中添加上了〃计算平均值〃菜单项。>4.将光标设定为A己名字中的某个字、图标设定为ft己名字屮的另一个字。二、实验仪器电脑一台三、实验原理(主要程序代码及解释)1、创建菜单:>定义菜单:在资源描述文件屮定义。POPUP语句,并可以包含子菜单。在久•文件中定义菜单项标识所对应的数偾。>加载菜单资源。在窗口类屮加载菜单:wcex.lpszMenuName>动态的划述菜中.:调川CreatMenu创建空的弹出式莱中.,调川AppendMcnu插入菜中项>
3、禁止和激活菜单项MF_ENABLED、MF.GRAYED>修改菜单项:ModifyMenu(hmenu,IDM_FANGCHA,MF_BYCOMMAND,IDM_nihe,"线性拟合”);2、画图:WM_PAINT3、鼠称点击事件:WM_LBUTTONDOWN、WM_RBUTTONDOWN4、光标和罔标:>创逮资源ico、cur>在cpp文件屮调用wcex.hlcon=Loadlcon(hlnstance,MAKEINTRESOURCE(IDI_ICON1));5、代码:finaLcpp#include"stdafx.h"includenfinal.h”#defmeMAX.LOADSTRI
4、NG100HMENUhmenu,haddmenu;HINSTANCEhlnst;TCHARszTitle
5、MAX_LOADSTRING
6、;TCHARszWindowClass[MAX_LOADSTRING];ATOMMyRcgistcrClass(HINSTANCEhlnstancc);BOOLInitInstance(HINSTANCE,int);LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);INT_PTRCALLBACKAbout(HWND,UINT,WPARAM,LPARAM);intAPIENTRY」WinMain(HINSTANC
7、Ehlnstancc,HINSTANCEhPrevInstance,LPTSTRlpCmdLine,intnCmdShow){UNREFERENCED_PARAMETER(hPrcvInstancc);UNREFERENCED_PARAMETER(lpCmdLine);MSGmsg;HACCELhAccelTable;LoadString(hInstancc,IDS_APP_TITLE,szTitlc,MAX.LOADSTRING);LoadString(hInstancc,IDC_FINAL,szWindowClass,MAX_LOADSTRING);MyRegisterClass(hl
8、nstance);if(!lnitlnstance(hlnstance,nCmdShow)){returnFALSE;)hAccelTable=LoadAccelerators(hInstance,MAKEINTRESOURCE(IDC_FINAL));while(GetMessage(&m$g,NULL,0,0))(if(!TranslateAccelerator(msg.hwnd,hAccelTable,&msg)){TransiateMessage(&msg);Di$patchMessage(&msg);})return(int)msg.wParam;}ATOMMyRegisterC
9、lass(HINSTANCEhlnstance){WNDCLASSEXwcex;wcex.cbSize=sizeof(WNDCLASSEX);wcex.lpfnWndProcwcex.cbClsExtrawccx.cbWndExtrawccx.hlnstanccwcex.hlconwcex.hCursorwcex.hbrBackgroundWndProc;0;0;hlnstancc;=Loadlcon(hlnstance