WEB开发网
开发学院软件开发VC VC精华教程:MFC入门系列(六) 阅读

VC精华教程:MFC入门系列(六)

 2007-03-22 21:31:18 来源:WEB开发网   
核心提示: ON_COMMAND(ID_DRAW_LINE,line) ON_COMMAND(ID_DRAW_RECT,rect) ON_COMMAND(ID_DRAW_ROUND_RECT,round_rect) ON_COMMAND(ID_DRAW_CIRCLE,circle) ON_COMMAN
 ON_COMMAND(ID_DRAW_LINE,line)
  ON_COMMAND(ID_DRAW_RECT,rect)
  ON_COMMAND(ID_DRAW_ROUND_RECT,round_rect)
  ON_COMMAND(ID_DRAW_CIRCLE,circle)
  ON_COMMAND(ID_DRAW_CURVE,curve)

我们有消息映射,在添加消息映射处理函数

 void line()
  {
   ::MessageBox(0,"line","消息",MB_OK);
  }
  void rect()
  {
  ::MessageBox(0,"rect","消息",MB_OK);
  }
  void round_rect()
  {
  ::MessageBox(0,"round_rect","消息",MB_OK);
  }
  void circle()
  {
  ::MessageBox(0,"circle","消息",MB_OK);
  }
  void curve()
  {
  ::MessageBox(0,"curve","消息",MB_OK);
  }

这时,我们的准备工作已做好。开始画图之前,我们还要讲一个概念——无效区域。我们知道,我们的显示器就是一块画布,我们切换窗口,显示器是不是要重新画一遍画布,这个问题要看情况。因为,画一遍画布(我们也叫重绘)是很费资源的,所以,我们就想要重绘一部分区域,我们如何知道要重绘那部分区域呢?我们将这个区域,设成要求重绘的矩形区域之后,重新绘制该区域。我们把这个区域称为无效区域。以后我们要重新绘制什么东东的时候,就可以将它设成无效区域。

那么将这个区域设成了无效区域之后,谁来重新绘制它,如何绘制它呢?那么任何影响窗口的操作都会引发WM_PAINT消息,那么,谁来完成消息映射呢?是ON_WM_PAINT(),我们在消息映射要添加这一条,这个消息映射到了一个函数,这个函数是 OnPaint(),也就是说,我们的画图工作都在这里面完成。

Tags:VC 精华 教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接