CWnd::SetLayeredWindowAttributes 是 MFC(Microsoft Foundation Classes)中 CWnd 类的一个公共方法,用于设置窗口的分层属性。这个方法主要用于创建半透明的窗口效果。

函数原型为:
BOOL SetLayeredWindowAttributes(COLORREF crKey, BYTE bAlpha, DWORD dwFlags);

  •  crKey 参数是颜色键值,用于指定窗口的透明颜色。窗口中的所有与此颜色相等的像素都将变为透明。如果你不想使用颜色键,请将此参数设置为 (COLORREF)-1。

  
  •  bAlpha 参数是窗口的透明度。它的值范围是 0(完全透明)到 255(完全不透明)。


  •  dwFlags 参数是一个控制窗口属性的标志。可以使用 LWA_COLORKEY 标志来指定 crKey 参数有效,使用 LWA_ALPHA 标志来指定 bAlpha 参数有效。


使用示例:
// 假设 pWnd 是一个指向 CWnd 对象的指针
pWnd->SetLayeredWindowAttributes(RGB(255, 0, 255), 128, LWA_COLORKEY | LWA_ALPHA);

上述代码将设置窗口对象 pWnd 的分层属性。窗口将变为半透明,透明颜色为 RGB(255, 0, 255),透明度为 128。


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