您当前的位置:《windows程序设计》听课笔记:11
《windows程序设计》听课笔记:11
WINDOS绘图设计
GDI函数的调用
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
    static POINT  pt[MAXPOINTS];
 static int    iCount;
 HDC hdc;
 int i,j;
 PAINTSTRUCT ps;
 switch(message)
 {
 case WM_LBUTTONDOWN:
  iCount=0;
  InvalidateRect(hwnd,NULL,TRUE);
  return 0;
 case WM_MOUSEMOVE:
  if(wParam&MK_LBUTTON&&iCount<1000)
  {
   pt[iCount].x=LOWORD(lParam);
   pt[iCount].y=HIWORD(lParam);
   hdc=GetDC(hwnd);
   SetPixel(hdc,LOWORD(lParam),HIWORD(lParam),0);
   ReleaseDC(hwnd,hdc);
  }
  return 0;
 case WM_LBUTTONUP:
  InvalidateRect(hwnd,NULL,FALSE);
  return 0;
 case WM_PAINT:
  hdc=BeginPaint(hwnd,&ps);
  SetCursor(LoadCursor(NULL,IDC_WAIT));
  ShowCursor(TRUE);
  for(i=0;i<iCount-1;i++)
   for(j=i+1;j<iCount;j++)
   {
    MoveToEx(hdc,pt[i].x,pt[i].y,NULL);
    LineTo(hdc,pt[j].x,pt[j].y);
   }
   ShowCursor(FALSE);
   SetCursor(LoadCursor(NULL,IDC_ARROW));
   EndPaint(hwnd,&ps);
   return 0;
 case WM_DESTROY:
  PostQuitMessage(0);
  return 0;
 }
 return DefWindowProc(hwnd,message,wParam,lParam);
 
}
收藏状态
收藏本课程的同学
相关课程