在 MFC(Microsoft Foundation Classes)中,CWnd::SetWindowRgn 是 CWnd 类的一个公共方法,用于设置窗口的区域。

函数原型为:
int SetWindowRgn(HRGN hRgn, BOOL bRedraw);

  •  hRgn 参数是一个 HRGN 句柄,表示要设置的窗口区域。


  •  bRedraw 参数是一个布尔值,如果为 TRUE,则在设置窗口区域后重绘窗口;如果为 FALSE,则不重绘。


返回值是一个整数,表示以前与窗口关联的区域的类型。可以是 ERROR, NULLREGION, SIMPLEREGION, COMPLEXREGION, ERROR 中的一个。

使用示例:
// 假设 pWnd 是一个指向 CWnd 对象的指针
HRGN hRegion = CreateEllipticRgn(50, 50, 150, 100);  // 创建一个椭圆形区域
pWnd->SetWindowRgn(hRegion, TRUE);  // 设置窗口区域并重绘

上述代码将创建一个椭圆形区域,并将其设置为窗口对象 pWnd 的区域,然后重新绘制窗口。可以根据实际需求创建不同形状的区域。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23406/MFC/CWnd