PAINTSTRUCT结构的rcPaint字段是RECT型态的结构。您已经在第三章中看到,RECT结构定义了一个矩形,其四个字段为left、top、right和bottom。PAINTSTRUCT结构的rcPaint字段定义了无效矩形的边界,如图4-1所示。这些值均以图素为单位,并相对于显示区域的左上角。无效矩形是应该重画的区域。
PAINTSTRUCT中的rcPaint矩形不仅是无效矩形,它还是一个「剪取」矩形。这意味着Windows将绘图操作限制在剪取矩形内(更确切地说,如果无效矩形区域不为矩形,则Windows将绘图操作限制在这个区域内)。
如果无效矩形区域不为矩形: 不矛盾吗这句?又说矩形,又说不为矩形

解决方案 »

  1.   

    PAINTSTRUCT中的rcPaint矩形不仅是无效矩形,它还是一个「剪取」矩形。这意味着Windows将绘图操作限制在剪取矩形内(更确切地说,如果无效矩形区域不为矩形,则Windows将绘图操作限制在这个区域内)。
    这句话的意思是说, 它是一个矩形, 它是一个表示无效区域的矩形,它是一个包含所有无效区域的矩形, 它是一个只占客户区域部分的(代表无效区域的)矩形。
      

  2.   

    就是说窗口刷新是按矩形区域刷新的,而不是整屏都更新(那多浪费时间啊?),那个矩形内的显示内用已经过期了,叫无效矩形,需要重画。但是如果显示内容过期的部分不是矩形,那就按外面的外接矩形刷新(当然也可以仅仅对不是矩形部分单独刷新,但是分析这块不是矩形的区域多浪费时间啊?)。这句“如果无效矩形区域不为矩形,则Windows将绘图操作限制在这个区域内”,明显是二百五翻译的不准确。