pt是CPoint类的,size是CSize类的,
CRect rect(pt,size);
InvalidateRect(rect);
如果让size.nx和size.ny都是负数的话,rect是哪儿区域;
我想重绘以pt为右下角的一个矩形区域,就让size.nx和size.ny都是负数,请问这样对吗

解决方案 »

  1.   

    应该没有问题。
    注意加上NormalizeRect() 
      

  2.   


    楼上的意思是这样?
    CRect rect(pt,size);
    NormalizeRect()
    InvalidateRect(rect);
      

  3.   

    CRect::NormalizeRect
    说明:   此函数用来使CRect符合规范,使其高度和宽度均为正值。矩形被从四个象限规范化,通常这四个象限就是Windows用来确定坐标的。NormalizeRect比较上、下坐标的值,如果上坐标值大于下坐标的值,则将它们互换。类似的,如果左坐标的值大于右坐标的值,则将左、右坐标互换。当处理不同的映射模式和转化的矩形时,这个函数是很有用的。