当前位置:首页 » 多媒体相关

OnPaint和OnDraw有什么不同?


用vc6建立一个mfc   sdi工程  
  1   当选择document/view支持时,vc自动生成的view里的重画函数为ondraw  
  2   当不选择document/view支持时,vc生成的view里的重画函数为onpaint  
   
  为什么会有这种区别?为什么在2下不生成ondraw?

推荐阅读

  • 杰尔针对家庭与企业市场推出多媒体存储芯片 [详细内容]
  • 英特尔猛追AMD 安腾命悬一线PC导购中心 [详细内容]
  • 专访宝德:走上安腾高端服务器之路 服务器存储频道 [详细内容]
  • 日本NEC和东芝将联合开发下一代存储芯片 [详细内容]
  • 别了,三星,别了,S108 [详细内容]
  • HP Integrity 动能服务器家族 服务器存储频道 [详细内容]
  • 日立在2年内退出移动电话存储芯片生产业务 [详细内容]
  • 网友回答:
    网友:zhouyong0371

    "深入浅出mfc"第684页解释的很简洁:  
      ondraw中一般是通用绘图代码,常常是设备无关的。会被onprint和onpaint调用。  
      onpaint中是一般显示相关代码加上调用ondraw。例如,如果onpaint中先判断窗口无需重画,则不调用ondraw。  
       
       
      cview类有onpaint函数,如果不重载cview的onpaint,则缺省实现onpaint调用ondraw,所以如果你重载onpaint,而没有在onpaint里边调用cview::onpaint或者ondraw的话,ondraw就不会被调用。

    .

    讨论区

    Login