程序设计-04.docVIP

  • 2
  • 0
  • 约1.32千字
  • 约 8页
  • 2016-11-26 发布于重庆
  • 举报
程序设计-04

第四部分: 对象的选择与拖动 1、在类CDynamicGeometryDoc中添加选择函数: CDrawObj* ObjectAt(const CPoint pt); 同时,在类CDrawObj和CPoint2D中分别增加函数: virtual bool IsPoint() const { return false; } virtual bool IsPoint() const { return true; } 2、在类CDynamicGeometryView中,增加如下成员变量和函数: CTypedPtrListCObList, CDrawObj* m_selection; void AddSelect(CDrawObj* pObj, bool bAdd=false); void RemoveSelect(CDrawObj* pObj); void RemoveAllSelect(); 3、添加鼠标左键事件:单击“View|ClassWizard…”. 4、选择WM_LBUTTONDOWN和WM_LBUTTONUP,单击按钮”Add Function”,增加鼠标左键按下和释放事件。按”OK”或”Edit Code”按钮。 5、在类CDynamicGeometryView中,增加如下成员变量: bool m_bLeftDown; CPoint m_lastPoint; CDrawObj* m_pDragObj; 用于选择和拖动。在构造函数中,初始化这些变量。 6、编辑鼠标左键事件的代码: 7、添加鼠标运动事件,并编辑代码: 8、在类CDynamicGeometryDoc中增加对象重新计算函数。 在类前声明class CDynamicGeometryView; Void Calculate(CDynamicGeometryView* pView=NULL); 10、对类CPoint2D的Move函数添加代码: 11、修改鼠标运动事件代码: 12、增加视图背景颜色。 在在类CDynamicGeometryDoc中增加变量: COLORREF m_bkColor; 并初始化为RGB(0xFF, 0xFF, 0xFF)。并添加成员函数: COLORREF GetBackColor() const { return m_bkColor; } 13、双缓存作图。 14、改变视图的背景颜色。 添加菜单资源: 添加菜单事件处理程序:单击”View|ClassWizard”,选中ID_VIEW_BKCOLOR、COMMAND,单击”Add Function”,单击”Edit Code”按钮。 添加背景颜色处理程序代码: 在类CDynamicGeometryDoc中增加成员函数: void SetBkColor(COLORREF bkColor) { m_bkColor = bkColor; } 为使文本绘图透明,在 CDynamicGeometryView :: OnDraw(CDC* pDC)中添加代码:

文档评论(0)

1亿VIP精品文档

相关文档