同标题:用SetWindowRgn构建的不规则窗体,有没有办法恢复为正常矩形窗体?
若不能直接使用API函数恢复请写出代码,谢了。

解决方案 »

  1.   

    用CreateRectRgn建立一个矩形区域,把这个矩形设置成你原来窗体的矩形(这个矩形可以用GetWindowRect获得),然后重新调用SetWindowRgn函数。
      

  2.   

    谢谢,还有不明白的地方,还请继续给予帮助。
    问题:
    一、如何将CreateRectRgn建立的矩形设置成原窗体的矩形,设置完成后有没有需要释放的资源。
    二、使用SetWindowRgn设置的区域句柄,不能使用或修改,也不能删除它。占用的资源是不是在程序运行时就没有办法释放了--如果是这样,我的资源很快就会枯竭了,如何好?
      

  3.   

    CreateRectRgn 一个窗体大小的距形(比它大也行..)
    起点是(0,0)
      

  4.   

        SetWindowRgn hwnd, 0, True
      

  5.   

    我说的再清楚些,希望大家能帮到我。
    我把picturebox内的图片背景透明掉,使用了函数SetWindowRgn。更换图片时,新加载的图片只能显示原图片未被透明的部分。我想知道怎样才能恢复picturebox场景的初始状态。
    另外,为了使图片根据picturebox的大小自动缩放,我使用的是BitBlt函数显示的图片。
      

  6.   

    设置的效果太多,不小心条件出现了问题,纠正后试用bdzwj的方法有效。