MyDraw.h
上传用户:netltd
上传日期:2013-02-12
资源大小:7234k
文件大小:2k
源码类别:

绘图程序

开发平台:

Visual C++

  1. //绘制直线、矩形、圆等图形对象,应该与图形对象的具体数据结构无关
  2. class CDrawGrapObject : public CObject
  3. {
  4. public:
  5.     CDrawGrapObject();
  6. void Initialize();
  7. void SetOnceFlag();
  8. private:
  9. BOOL OnceFlag;
  10. public:
  11.     //绘图时基于CDC, (0,0)点为窗口区的左上角 
  12. //绘制直线
  13. void DrawLineXOR(CDC* pDC, POINT StartPoint, POINT EndPoint, POINT oldEndPoint); //用异或擦除旧的直线,并用异或绘制新的直线
  14. void DrawLine(CDC* pDC, POINT StartPoint, POINT EndPoint, int LineStyle, COLORREF PenColor);        //直接绘制新的直线
  15. void CancelDrawLine(CDC* pDC, POINT StartPoint, POINT EndPoint);   //用异或擦除旧的直线
  16. void DrawSelLine(CDC* pDC, POINT StartPoint, POINT EndPoint, int LineStyle, COLORREF PenColor);
  17. public:
  18. //绘制矩形
  19.     void DrawRectXOR(CDC* pDC, POINT StartPoint, POINT EndPoint, POINT oldEndPoint);
  20. void DrawRect(CDC* pDC, POINT StartPoint, POINT EndPoint, int LineStyle, COLORREF PenColor);
  21. void CancelDrawRect(CDC* pDC, POINT StartPoint, POINT EndPoint);
  22. void DrawSelRect(CDC* pDC, POINT StartPoint, POINT EndPoint, int Style, COLORREF Color);
  23. public:
  24. //绘制圆
  25. void DrawCircleXOR(CDC* pDC, POINT StartPoint, POINT EndPoint, POINT oldEndPoint);
  26.     void DrawCircle(CDC* pDC, POINT StartPoint, POINT EndPoint, int LineStyle, COLORREF PenColor);
  27. void DrawCircle(CDC* pDC, POINT StartPoint, long Radius, int LineStyle, COLORREF PenColor);
  28. void CancelDrawCircle(CDC* pDC, POINT StartPoint, POINT EndPoint);
  29. void DrawSelCircle(CDC* pDC, POINT StartPoint, long Radius, int Style, COLORREF Color);
  30. public:
  31. //绘制圆弧
  32. void DrawArcXOR(CDC* pDC, POINT StartPoint, POINT MidPoint, POINT oldMidPoint, 
  33.     POINT EndPoint, POINT oldEndPoint, int times);
  34.     void DrawArc(CDC* pDC, POINT StartPoint, POINT MidPoint, POINT EndPoint, int LineStyle, 
  35.          COLORREF PenColor);
  36.     void DrawArc(CDC* pDC, POINT OriginPoint, POINT StartPoint, POINT EndPoint, long Radius, 
  37.          int LineStyle, COLORREF PenColor);
  38. void CancelDrawArc(CDC* pDC, POINT StartPoint, POINT MidPoint, POINT EndPoint, int times);
  39. void DrawSelArc(CDC* pDC, POINT OriginPoint, POINT StartPoint, POINT EndPoint, 
  40.             long Radius, int LineStyle, COLORREF PenColor);
  41. };