资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1数字媒体学院上机实验报告 I课程名称:程序设计 II 班级: 实验日期:姓名: 学号: 指导教师:实验序号:01 实验成绩:一、实验名称:测试创建函数二、实验目的及要求1. 熟悉 Windows 程序设计2. 掌握 VS 的使用3. 了解程序窗口的设计3、实验环境:VS2012四、实验内容编制一个程序,设计一个程序窗口,测试创建函数的风格参数,简单总结窗口有哪些风格。2五、算法描述及实验步骤1. 创建一个基于对话框的项目2. 给对话框加入相应的操作按钮3. 给按钮加上代码,设置属性4. 为实现操作添加必要函数六、调试过程及实验结果我就只是在源代码里面更改了几次风格参数的代码,看了下效果,并将风格参数总结成了一份 word 文档。七、总结本次实验,我掌握了一些具体函数的定义和调用方法。在操作的过程中深刻地体会到函数调用的便捷。通过 vs 使用,我亲自感受并实践了程序设计的思想,同时对 vs 程序设计也有了总体的认识。此外,编写程序的严谨思想也令我深深地感受一丝不苟地工作的重要性。38、附录LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)HDC hdc ;PAINTSTRUCT ps ;RECT rect ;switch (message)case WM_CREATE:PlaySound (TEXT (123.wav), NULL, SND_FILENAME | SND_ASYNC) ;return 0 ; case WM_PAINT:hdc = BeginPaint (hwnd, GetClientRect (hwnd, DrawText (hdc, TEXT (Hello, Windows 7!), -1, &rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;EndPaint (hwnd, return 0 ;case WM_DESTROY:PostQuitMessage (0) ;return 0 ;return DefWindowProc (hwnd, message, wParam, lParam) ;运行结果截图:4上机实验报告 II课程名称:程序设计 II 班级: 实验日期:姓名: 学号: 指导教师:实验序号:02 实验成绩:一、实验名称:绘制小船二、实验目的及要求1.掌握 VS 的使用2.了解程序窗口的设计3.熟悉图形设备接口、绘图和文字3、实验环境:VS2012四、实验内容绘制一艘小船,有颜色的帆船,标注船长,有坐标系。五、算法描述及实验步骤1.创建一个基于对话框的项目2.确定船的各点之间的坐标关系2.利用函数将船的坐标关系绘制出来3.填充颜色5六、调试过程及实验结果起初画船身的时候,坐标没算好,船是奇形怪状的,后来经过研究确定了坐标,确定每个坐标点比较繁琐,花了比较多的时间,而且中间因为计算错误更改了很多次。各个图形建的顺序不清楚,也很奇怪,后来解决了。后来颜色也不会填,通过问别人和百度解决了。6七、总结这次实验是图形的绘制,本次实验内容很多,既要打开文件读取数据,又要绘制坐标,轴,坐标刻度,还要对坐标进行转化,比较麻烦,将它们完美地融合在一起却不简单。这已经是第二个实验了,也学了编程的知识,虽然有的函数,代码我知道它是什么功能,我会用,但却不是很理解,将所学进行改编融合这方面我还是很欠缺的。这个程序虽然是写完了,结果也运行出来了,但我知道它是写的很糟糕的,类只是函数的堆砌,完全算不上真正的类,运行也存在很大的问题。刚开始编译时还有好多错误,多编译几次竟然就通过了,但是通过之后有时是弹出两个或多个打开文件的对话框,有时是一个,往往还伴随着黑屏。我想应该是数据读取的函数调用有问题,具体是什么原因还不是很清楚,明天上午再去请教同学吧。7八、附录LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)static TCHAR szBuffer8=TEXT(船有20米长。);TEXTMETRIC tm;static int cxChar,cyChar;static POINT BoatFigure4static int cxClient, cyClient ;HDC hdc ;int i,j ;PAINTSTRUCT ps ;POINT Boat4 ;static int CloudFigure124;int Cloud124;static POINT PoleFigure4; POINT Pole4;static POINT FlagFigure3;POINT Flag3;static int BubbleFigure34int Bubble34;static POINT ArrowFigure43;POINT Arrow43;HBRUSH hOrangeBrush,hBlueBrush,hBrownBrush,hRedBrush;switch (message)case WM_SIZE:cxClient = LOWORD (lParam) ;cyClient = HIWORD (lParam) ;return 0 ;/case WM_PAINT:hdc = BeginPaint (hwnd, GetTextMetrics(hdc,cxChar=tm.tmAveCharWidth;cyChar=tm.tmHeight+tm.tmExternalLeading;SetMapMode(hdc,MM_ISOTROPIC);SetWindowExtEx(hdc,cxClient/2,cyClient/2,NULL);SetViewportExtEx(hdc,cxClient/2,-cyClient/2,NULL);SetViewportOrgEx(hdc,cxClient/2,cyClient/2,NULL);for(i=0;i 0)xCaret- ;SendMessage (hwnd, WM_KEYDOWN, VK_DELETE, 1) ;break ;case t: / tabdoSendMessage (hwnd, WM_CHAR, , 1) ;while (xCaret % 8 != 0) ;break ;case n: / line feedif (+yCaret = cyBuffer)yCaret = 0 ;break ;case r: / carriage return15xCaret = 0 ; if (+yCaret = cyBuffer)yCaret = 0 ;break ;case x1B: / escapefor (y = 0 ; y = 3 & i (cyClient*cxDesktop/cyDesktop)?TRUE:FALSE;modeorginal00=0;modeorginal01=0;modeorginal02=cxClient;modeorginal03=cyClient; modeorginal10=cxClient;modeorginal11=0;modeorginal12=-cxClient;modeorginal13=cyClient; modeorginal20=0;modeorginal21=cyClient;modeorginal22=cxClient;modeorginal23=-cyClient; modeorginal30=cxClient;modeorginal31=cyClient;modeorginal32=-cxClient;modeorginal33=-cyClient;return 0 ;case WM_PAINT: hdcClient = BeginPaint (hwnd, hdcWindow = GetWindowDC (GetDesktopWindow() ;if(stretched)for(int i=0;i4;i+)modei=modeorginaliCurrenti;elsefor(int i=0;i4;i+)modei=modeorginaliCurrenti;switch(iCurrent)case 0:if(iscxClientlong)29mode2=mode3*cxDesktop/cyDesktop;elsemode3=mode2*cyDesktop/cxDesktop;break;case 1:if(iscxClientlong)mode2=-mode3*cxDesktop/cyDesktop;mode0=-mode2;elsemode3=-mode2*cyDesktop/cxDesktop;break;case 2:if(iscxClientlong)mode2=-mode3*cxDesktop/cyDesktop;elsemode3=-mode2*cyDesktop/cxDesktop;mode1=-mode3;break;case 3:if(iscxClientlong)mode2=mode3*cxDesktop/cyDesktop;mode0=-mode2;elsemode3=mode2*cyDesktop/cxDesktop;mode1=-mode3;break;30StretchBlt(hdcClient, mode0, mode1, mode2, mode3,hdcWindow, 0, 0, cxDesktop, cyDesktop, SRCCOPY) ;ReleaseDC (hwnd, hdcWindow) ;EndPaint (hwnd, return 0 ;case WM_DESTROY:PostQuitMessage (0) ;return 0 ;return DefWindowProc (hwnd, message, wParam, lParam) ;运行结果截图:正常截出时:显示方式更改为等比:31
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号