InvalidRect是设置一个矩形区域吧,如果是两个不连续的区域怎么办呢。

解决方案 »

  1.   

    不好意思,刚接触Windows程序设计,函数名写错了 InvalidateRect,
      

  2.   

    首先确定区域大小,然后就两次InvalidateRect
      

  3.   

    也可能Invalidate来对整修窗口重绘,这样就不必考虑有多少个区域。
      

  4.   

    如果是两个不连续的区域可以再次调用,如果是控件区域还有一种特殊的方法就是给窗体加入WS_CLIPCHILDREN风格,这样上面控件所在区域将不在被刷新,主要适用于矩形控件.防闪烁.另外不建议用Invalidate来刷新整个区域,尽量少用.不要怕麻烦,用invalidaterect虽然你代码是写多了,但是执行效率要高于invalidate
      

  5.   

    CombineRgn
    The CombineRgn function combines two regions and stores the result in a third region. The two regions are combined according to the specified mode. int CombineRgn(
      HRGN hrgnDest,      // handle to destination region
      HRGN hrgnSrc1,      // handle to source region
      HRGN hrgnSrc2,      // handle to source region
      int fnCombineMode   // region combining mode
    );
    Parameters
    hrgnDest 
    [in] Handle to a new region with dimensions defined by combining two other regions. (This region must exist before CombineRgn is called.) 
    hrgnSrc1 
    [in] Handle to the first of two regions to be combined. 
    hrgnSrc2 
    [in] Handle to the second of two regions to be combined. 
    fnCombineMode 
    [in] Specifies a mode indicating how the two regions will be combined. This parameter can be one of the following values. Value Description 
    RGN_AND Creates the intersection of the two combined regions. 
    RGN_COPY Creates a copy of the region identified by hrgnSrc1. 
    RGN_DIFF Combines the parts of hrgnSrc1 that are not part of hrgnSrc2. 
    RGN_OR Creates the union of two combined regions. 
    RGN_XOR Creates the union of two combined regions except for any overlapping areas. 
    Return Values
    The return value specifies the type of the resulting region. It can be one of the following values. Value Meaning 
    NULLREGION The region is empty. 
    SIMPLEREGION The region is a single rectangle. 
    COMPLEXREGION The region is more than a single rectangle. 
    ERROR No region is created. 
    Res
    The three regions need not be distinct. For example, the hrgnSrc1 parameter can equal the hrgnDest parameter. 谢谢大家,MSDN上找到了InvalidateRgn的用法了。五一再结贴