正文

椭圆自动变形2009-09-30 17:09:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bigpig/48775.html

分享到:

下面这段代码是在窗口中按下CTROL后画一个椭圆。然后按上下左右键改变椭圆的形状,pageup pagedown键改变椭圆位置。 具体请看代码。呵呵 //全局变量 int icount;int lx=200,ly=200,rx=400,ry=300;//矩形的长宽高#ifndef VK_PAGE_UP#define VK_PAGE_UP 0x021#define VK_PAGE_DOWN 0x022#endif //具体代码处理逻辑 LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam){ HDC hdc; PAINTSTRUCT ps; HPEN hP; switch(message) { case WM_KEYDOWN:  {   switch(wParam)   {             case VK_CONTROL:             icount=1;       lx=200,ly=200,rx=400,ry=300;              InvalidateRect(hWnd,NULL,TRUE);              break;            case VK_RIGHT:              rx=rx+10;              InvalidateRect(hWnd,NULL,TRUE);              break;       case VK_LEFT:              lx=lx-10;              InvalidateRect(hWnd,NULL,TRUE);              break;            case VK_DOWN:               ry=ry+10;               InvalidateRect(hWnd,NULL,TRUE);                 break;    case VK_UP:               ly=ly-10;               InvalidateRect(hWnd,NULL,TRUE);                 break;             case VK_HOME:              lx=lx-10;              rx=rx-10;              InvalidateRect(hWnd,NULL,TRUE);              break;           case VK_END:              lx=lx+10;              rx=rx+10;              InvalidateRect(hWnd,NULL,TRUE);              break;           case VK_PAGE_UP:              ly=ly-10;              ry=ry-10;              InvalidateRect(hWnd,NULL,TRUE);               break;          case VK_PAGE_DOWN:              ly=ly+10;              ry=ry+10;              InvalidateRect(hWnd,NULL,TRUE);              break;   }   InvalidateRect(hWnd,NULL,TRUE);  break;  } case WM_PAINT:  hdc=BeginPaint(hWnd,&ps);  hP=(HPEN)GetStockObject(BLACK_PEN);  if(icount==1)   Ellipse(hdc,lx,ly,rx,ry);  DeleteObject(hP);  EndPaint(hWnd,&ps);  break; case WM_DESTROY:  PostQuitMessage(0);  break; default:  return DefWindowProc(hWnd,message,wParam,lParam);  } return 0;}

阅读(2409) | 评论(4)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册