《C++作业画圆放大windowsMFC.docx》由会员分享,可在线阅读,更多相关《C++作业画圆放大windowsMFC.docx(2页珍藏版)》请在三一办公上搜索。
1、C+作业画圆放大windowsMFC 发得有点迟了啊。 编写一个windows应用程序,要求在窗口的用户区中绘制一个圆,当单击鼠标左键时,该圆放大,单击右键时,该圆缩小,按下Ctrl键的同时移动鼠标,则该圆会随鼠标的移动而移动。 申明了两个全局变量,npoint)和 i ,放大或缩小每次为10个像素。 开始建一个单文档应用程序,其它的都默认。 就叫Test。 在TestView中,用classwizard里添加: 完了在onDraw里加上: pDC-Ellipse(CRect(npoint.x-i,npoint.y-i,npoint.x+i,npoint.y+i); 然后从OnTimer开始添
2、加代码: void CTestView:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call default CView:OnTimer(nIDEvent); test; if(i10|nIDEvent=1) switch(nIDEvent) case 1:i+=10; break; case 2:i-=10; break; void CTestView:OnLButtonDown(UINT nFlags, CPoint point) / TODO: Add your message hand
3、ler code here and/or call default CView:OnLButtonDown(nFlags, point); SetTimer(1,100,0); void CTestView:OnLButtonUp(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default CView:OnLButtonUp(nFlags, point); KillTimer(1); void CTestView:OnRButtonDown(UINT nFlags, CPoi
4、nt point) / TODO: Add your message handler code here and/or call default CView:OnRButtonDown(nFlags, point); SetTimer(2,100,0); void CTestView:OnRButtonUp(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default CView:OnRButtonUp(nFlags, point); KillTimer(2); void CT
5、estView:test /别奇怪,为了方便,随便写的一个函数 UpdateData;刷新数据 Invalidate;/刷新窗口 void CTestView:OnMouseMove(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default / Invalidate; CView:OnMouseMove(nFlags, point); CClientDC dc(this); if(:GetKeyState(VK_CONTROL)0) /ctrl键检测 npoint=point; test; 就这么多了。 这是我的工程文件,实在不会就下载吧。 115网盘,提取码:e608ufez,我会忘记续期的。