资源描述:
《可视化编程实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称可视化编程开课学院计算机科学与技术学院指导老师姓名学生姓名大全实用文档学生专业班级2010—2011学年第二学期实验课程名称:可视化编程实验项目名称API编程实现实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)要求:设计一个键盘程序,当按CTRL键时,表明要画椭圆;当按下Shift键时,表明要画矩形。然后单击向w键,椭圆或矩形的长度向上加10;单击s时,椭圆或矩形的高度向下加10;单击a键时,椭圆或矩形的长度向左加10;单击d时,椭圆或矩形的高度向
2、右加10;单击←键时,整个圆形或矩形向左移动,单击→键时,整个圆形或矩形向右移动;单击↑键时,整个圆形或矩形向上移动;单击↓建时,矩形or圆形向下移动。二、大全实用文档实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)#include#include#includelongWINAPIWndProc(HWNDhWnd,UINTiMessage,UINTwParam,LONGlParam);BOOLInitWindowsClass(HINSTANCEhInstance);B
3、OOLInitWindows(HINSTANCEhInstance,intnCmdShow);HWNDhWndMain;RECTrect1;intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){MSGMessage;if(!InitWindowsClass(hInstance))returnFALSE;if(!InitWindows(hInstance,nCmdShow))returnFALSE;while(GetMessage(&Message,0,0
4、,0)){TranslateMessage(&Message);DispatchMessage(&Message);大全实用文档}returnMessage.wParam;}longWINAPIWndProc(HWNDhWnd,UINTiMessage,UINTwParam,LONGlParam){HDChDC;staticBOOLbCircle=FALSE,bRect=FALSE;PAINTSTRUCTps;switch(iMessage){caseWM_KEYDOWN:if(wParam==VK_CONTROL){bCircle=TRUE;bRect=FALSE;re
5、ct1.left=0;rect1.right=0;rect1.top=0;rect1.bottom=0;}elseif(wParam==VK_SHIFT)大全实用文档{bRect=TRUE;bCircle=FALSE;rect1.left=0;rect1.right=0;rect1.top=0;rect1.bottom=0;}elseif(wParam==VK_RIGHT){rect1.right+=10;if(bRect==TRUE
6、
7、bCircle==TRUE){InvalidateRect(hWnd,NULL,TRUE);}}elseif(wParam==VK_DO
8、WN){rect1.bottom+=10;if(bRect==TRUE
9、
10、bCircle==TRUE){InvalidateRect(hWnd,NULL,TRUE);}大全实用文档}elseif(wParam==VK_PRIOR){rect1.top-=10;rect1.bottom-=10;if(bRect==TRUE
11、
12、bCircle==TRUE){InvalidateRect(hWnd,NULL,TRUE);}}elseif(wParam==VK_NEXT){rect1.top+=10;rect1.bottom+=10;if(bRect==TRUE
13、
14、bCircle
15、==TRUE){InvalidateRect(hWnd,NULL,TRUE);}}elseif(wParam==VK_HOME){rect1.left-=10;rect1.right-=10;大全实用文档if(bRect==TRUE
16、
17、bCircle==TRUE){InvalidateRect(hWnd,NULL,TRUE);}}elseif(wParam==VK_END){rect1.left+=10;rect1.right+=10;if(bRect==TRUE
18、
19、bCircle==TRUE){InvalidateRect(