zoukankan      html  css  js  c++  java
  • 使矩形区域无效

      OnLButtonDown函数虽然可以随时改变一个m_nColor的值,但是如果只是这样的话,OnDraw函数是不会调用的(除非用户改变视图的大小),因此,OnLButtonDown函数必须调用

    InvalidateRect函数(它是CMyView类从CWnd继承过来的成员函数),它能触发Windows的WM_PAINT消息,该消息又在CView类被映射,以引起对OnDraw的调用。如果有必要,OnDraw函数还可以访问传给InvalidateRect的"无效矩形区域"参数。

      有两种情况可以优化Windows的绘制过程。第一,我们必须知道WIndows只更新无效的矩形内部的像素,所以所设置的无效矩形区域越小(例如在函数OnLButtonDown中设置),则重画的速度就越快;第二,执行在无效矩形歪蜜啊女的绘制指令纯属是浪费时间,OnDraw函数可以调用CDC中的成员函数GetClipBox得到无效的矩形大小,这样在绘制时就可以避免对其外边的的对象的绘制。记住,OnDraw函数不仅仅会响应InvalidateRect调用,它也会在窗口改变大小和窗口显露时被调用,因此,OnDraw要对窗口内所有的绘制处理,而且它还要适应无效矩形的限制。

    よろしく,お願いします!
  • 相关阅读:
    Linux下C程序插入执行shell脚本
    #ifdef预编译相关用法
    LAMP开发之环境搭建(2014.12.7在ubuntu下)
    Qt在VS2010的安装与配置
    vs2010配备boost编程环境
    Ubuntu虚拟机与Window、Arm的通信
    大小端测试程序
    Ubuntu安装google Gtest
    设计模式之单例模式
    设计模式之原型模式
  • 原文地址:https://www.cnblogs.com/cwbo-win/p/3219446.html
Copyright © 2011-2022 走看看