资源描述:
《Windows API窗口矩形绘制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、集美大学计算机工程学院实验报告课程名称:TCP/IP协议及程序设计班级:实验成绩:实验项目名称:WindowsAPI窗口矩形绘制程序设计学号:上机实践日期:2016-04-14实验项目编号:04组号:1上机实践时间:2学时一、实验目的熟悉Windows程序的运行脉络,掌握运用Win32API技术进行编程的方法。二、实验内容与设计思想设计一个简单的Win32程序,该程序窗口内正上方居中显示“WindowsAPI绘制矩形程序演示”字样,在程序窗口内任意位置A按下鼠标左键、并拖动鼠标到任意位置B松开,可以AB为主对角线绘制矩形。并且用红色填充该矩形。三、实
2、验使用环境操作系统:MicrosoftWindowsXPSP2编程环境:VisualC++6.0中文企业版四、实验步骤和调试过程详细给出源码以及实现的效果图,并配有代码解释#include#includestaticPOINTpt_star,pt_end;LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdSh
3、ow){staticTCHARszAppName[]=TEXT("HelloWin");HWNDhwnd;MSGmsg;WNDCLASSwndclass;wndclass.style=CS_HREDRAW
4、CS_VREDRAW;wndclass.lpfnWndProc=WndProc;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndclass.hCursor
5、=LoadCursor(NULL,IDC_ARROW);wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.lpszMenuName=NULL;wndclass.lpszClassName=szAppName;if(!RegisterClass(&wndclass)){MessageBox(NULL,TEXT("ThisprogramrequiresWindowsNT!"),szAppName,MB_ICONERROR);return0;}hwnd=CreateWin
6、dow(szAppName,//windowclassnameTEXT("3062,3076,3080,3083,43073"),//windowcaptionWS_OVERLAPPEDWINDOW,//windowstyleCW_USEDEFAULT,//initialxpositionCW_USEDEFAULT,//initialypositionCW_USEDEFAULT,//initialxsizeCW_USEDEFAULT,//initialysizeNULL,//parentwindowhandleNULL,//windowmenuhan
7、dlehInstance,//programinstancehandleNULL);//creationparametersShowWindow(hwnd,iCmdShow);UpdateWindow(hwnd);while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}returnmsg.wParam;}LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam){HDC
8、hdc;PAINTSTRUCTps;staticboolbJude=false;TCHARszBuffer[]="";RECTrect;switch(message){caseWM_LBUTTONDOWN:pt_end.x=pt_star.x=LOWORD(lParam);pt_end.y=pt_star.y=HIWORD(lParam);//获得按下坐标;掩盖掉第一次按下时鼠标移动bJude=true;return0;caseWM_MOUSEMOVE:if(bJude){hdc=GetDC(hwnd);SelectObject(hdc,GetSto
9、ckObject(NULL_BRUSH));SetROP2(hdc,R2_NOT);//防止重影Rectan