CRgn RegionResult;
RegionResult.CreateRectRgn(0,0,m_SizeImage.cx,m_SizeImage.cy);
CRgn rg;
CalcUnlayerRgn(rg, pWnd);
RegionResult.CombineRgn(&RegionResult,&rg,RGN_DIFF);
//设置区域
SetWindowRgn(RegionResult,TRUE);
原来这里RegionResult之外的区域将不显示,而这个区域内是否重绘也要靠第二个BOOL决定。
SetWindowRgn 函数是设置了一个窗口的区域.只有被包含在这个区域内的地方才会被重绘,而不包含在区域内的其他区域系统将不会显示.