可视化编程实验报告内容摘要:

验日期 年 月 日 一部分:实验预习报告 (包括实验目的、意义,实验基本原理与方法,主要仪器设备及耗材,实验方案与技术路线等) 目的:设计一个键盘程序,当按 Ctrl键时,表明要画椭圆;当按 Shift 键时,表明要画矩形。 然后单击向右箭头键,椭圆或矩形的长度加 10;单击向下箭头时,椭圆或矩形的高度加 10;单击 Home 键时,整个圆形或矩形向左移动;单击 End 键时,整个圆 形或矩形向右移动;单击 PageUp 键时,整个圆形或矩形向上移动;单击 PageDown 键时,整个圆形或矩形向下移动。 通过 Windows 应用程序中常见的键盘及鼠标的操作及其编程方法和对鼠标操作的响应知识,实现上述实验的目的,在实验中学习掌握在 Windows 应用程序中有关键盘和鼠标的应用和操作。 PC 一台、 第二部分:实验过程记录 (可加页)(包括实验原始数据记录,实验现象记录,实验过程发现的问题等) 1. 键盘程序源代码 include include include include BOOL WINPAIWndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam)。 BOOL InitWindowsClass(HINSTANCE hInstance)。 BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)。 //窗口显示 int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { MSG Message。 if(!InitWindowsClass(hInstance)) return FALSE。 if(!InitWindows(hInstance,nCmdShow)) return FALSE。 while(GetMessage(amp。 Message,0,0,0)) { TranslateMessage(amp。 Message)。 DispatchMessage(amp。 Message)。 } return。 } LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam) { HDC hdc。 HPEN hp。 static int c,s,left,top,right,bottom。 HBRUSH hb。 PAINTSTRUCT ps。 switch(iMessage) { case WM_KEYDOWN: if(wParam==VK_CONTROL) { c=1。 s=0。 left=0。 right=50。 top=0。 bottom=50。 InvalidateRect(hWnd,NULL,1)。 } else if(wParam==VK_SHIFT) { s=1。 c=0。 left=0。 top=0。 right=50。 bottom=50。 InvalidateRect(hWnd,NULL,1)。 } else if(wParam==VK_RIGHT) { right=right+10。 if(s==1||c==1) { InvalidateRect(hWnd,NULL,1)。 } } else if(wParam==VK_DOWN) { bottom=bottom+10。 if(s==1||c==1) { InvalidateRect(hWnd,NULL,1)。 } } else if(wParam==VK_PRIOR) { top=top10。 bottom=bottom10。 if(s==1||c==1) { InvalidateRect(hWnd,NULL,1)。 } } else if(wParam==VK_NEXT) { top=top+10。 bottom=bottom+10。 if(s==1||c==1) { InvalidateRect(hWnd,NULL,1)。 } } else if(wParam==VK_HOME) { left=left10。 right=right10。 if(s==1||c==1) { InvalidateRect(hWnd,NULL,1)。 } } else if(wParam==VK_END) { left=left+10。 right=right+10。 if(s==1||c==1) { InvalidateRect(hWnd,NULL,1)。 } } break。 case WM_PAINT: hdc=BeginPaint(hWnd,amp。 ps)。 SetMapMode(hdc,MM_TEXT)。 hp=(HPEN)GetStockObject(BLACK_PEN)。 hb=(HBRUSH)GetStockObject(WHITE_BRUSH)。 SelectObject(hdc,hb)。 SelectObject(hdc,hp)。 if(c==1) { Ellipse(hdc,left,top,right,bottom)。 }。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。