使用下面的语句,剪裁区域成功了,可在选入区域的时候SelectClipRgn 时返回值为1,没有创建成功,请问如何让绘图限定在指定区域内。谢谢。着急。
if (!rgn.CreateRectRgn(0,0,400,500))
{
return;
MessageBox("wrong");
}

解决方案 »

  1.   

    CRgn rgn;
    rgn.CreateRoundRectRgn(0, 0, cx + 1, cy + 1, 4, 4); SetWindowRgn(rgn, FALSE);
      

  2.   

    在onsize函数中增加了
    if (!rgn.CreateRectRgn(0,0,400,500)) 

    return; 
    MessageBox("wrong"); 

    在ondraw函数中增加了
    pdc->selectcliprgn(&rgn);
    程序没有出错,但绘图还是在整个客户区绘图。
      

  3.   

    CRgn rgn; 是一个局部变量,onsize结束后就销毁了。声明一个类成员变量,在OnCreate中Create
      

  4.   

    CRgn rgn; 我定义的是成员变量的。怎么还不行呢。
      

  5.   

    在OnMouseMove函数中判断你鼠标的坐标 如果超过了指定的路径中就不作处理,不知道行不行,呵呵,我小菜